Save Foreign Key Value - EF Core + ASP.NET Core
-
Hi guys, I´m new to ASP.NET Core and EF Core and I have the following problem: I have two related objects, Goals and Months, Goals got the foreign key of Months, and when I try to save the data of goals I got a foreign key error because the value of MonthId is 0, but when I create the select in the HTML I got correct code value. Description of the error: SqlException: The INSERT statement conflicted with the FOREIGN KEY constraint FK_Goals_MonthId;. The conflict occurred in database Portal_RNT, table dbo.Months , column MonthId;. The statement has been terminated. Here is the code: HTML
@model ProjectName.Models.Goals
<form asp-controller="Goals" asp-action="Create">
Other form elements<select name="months" asp-for="MonthId" class="form-control" asp-items="ViewBag.Months"> </select> <input type="submit" value="Save" class="btn btn-primary" />
</form>
Goals Model
public class Goals
{
[Display(Name = "Code")]
public Int32 GoalId { get; set; }public String GoalName{ get; set; } public Months Month{ get; set; } public Int32 MonthId{ get; set; } .... Other properties }
Month Model
public class Months { \[Key\] \[Display(Name = "Code")\] public Int32 MonthId { get; set; } \[Display(Name = "Designation")\] public String Designation{ get; set; } }
Goals Controller
public IActionResult Create(Goals goal)
{
if (ModelState.IsValid)
{
_context.Goals.Add(goal);
_context.SaveChanges();
}
return View("~/../Create.cshtml");
}Best Regards