I'm building a CRUD Application to manage my company's back end and having issues with creating a new child record for a parent. The standard auto-generated controller based on the model is set up to create a new record but not a new child record so I need to modify the controller and or the models. The models involved are: Bundle.cs and Agreement.cs:
using System;
using System.Collections.Generic;
namespace AdminPortal.Models
{
public partial class Bundle
{
public int Id { get; set; }
public DateTime StartUtc { get; set; }
public DateTime EndUtc { get; set; }
public int Quantity { get; set; }
public int? AgreementId { get; set; }
public decimal? BundlePrice { get; set; }
public virtual Agreement? Agreement { get; set; }
}
}
using System;
using System.Collections.Generic;
namespace AdminPortal.Models
{
public partial class Agreement
{
public Agreement()
{
AgreementAmendments = new HashSet<AgreementAmendment>();
Bundles = new HashSet<Bundle>();
Invoices = new HashSet<Invoice>();
}
public int Id { get; set; }
public int OrgId { get; set; }
public string? AgreementNumber { get; set; }
public string? IrespondReference { get; set; }
public string? DocumentLink { get; set; }
public virtual Organization Org { get; set; } = null!;
public virtual ICollection<AgreementAmendment> AgreementAmendments { get; set; }
public virtual ICollection<Bundle> Bundles { get; set; }
public virtual ICollection<Invoice> Invoices { get; set; }
}
}
This is the create method in the Controller
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("Id,StartUtc,EndUtc,Quantity,AgreementId,BundlePrice")] Bundle bundle)
{
if (ModelState.IsValid)
{
_context.Add(bundle);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
return View(bundle);
}
I'm new to EF Core so don't even know where to start.
Top comments (0)