我无法将创建数据发送到db_context

问题描述 投票:0回答:1

我正在尝试在 ASP.NET MVC 中使用 Entity 开发牛授精控制系统(这是一种节育措施,其中有小牛的出生、母亲、父亲的姓名等数据)框架(问题末尾有它生成的关系模型)。

问题是我无法将创建的数据保存到数据库中,出现以下错误:

SqlException:INSERT 语句与 FOREIGN KEY 约束“FK_Vaca_IDRaca”冲突。冲突发生在数据库“ControleInseminacao”、表“dbo.IDRaca”、列“IDRaca”中。

在我做的表格测试中,我注意到我没有收到下拉列表中选择的数据,我的错误在哪里?

Vaca
表链接到另外两个表,我的视图甚至在下拉列表中显示这两个表的数据,但我无法将此信息保存在我的数据库中。

我的控制器:

  [HttpGet]
  public ActionResult Create()
  {
      ControleInseminacaoEntities1 db_context = new ControleInseminacaoEntities1();

      ViewBag.ListaFazendas = new SelectList(db_context.Fazenda.ToList(), "IDFazenda", "Name");
      ViewBag.ListaRacas = new SelectList(db_context.IDRaca.ToList(), "IDRaca1", "Name");

      return View();
  }

  [HttpPost]
  Public ActionResult Create(Cow cow)
  {
      ControleInseminacaoEntities1 db_context = new ControleInseminacaoEntities1();

      db_context.Cow.Add(cow);
      db_context.SaveChanges();

      return RedirectToAction("Index");
  }

我的观点:

<div class="form-horizontal">
  <h4>Vacation</h4>
  <hr />
  @Html.ValidationSummary(true, "", new { @class = "text-danger" })
  <div class="form-group">
      Farm
      <div class="col-md-10">
          @Html.DropDownList("Fazenda", ViewBag.ListaFazendas as SelectList, "Select a Farm", new { @class = "form-control" })
          @Html.ValidationMessageFor(model => model.FK_Vaca_IDFazenda, "", new { @class = "text-danger" })
      </div>
  </div>

  <div class="form-group">
      race
      <div class="col-md-10">
          @Html.DropDownList("Race", ViewBag.RaceList as SelectList, "Select a breed", new { @class = "form-control" })
          @Html.ValidationMessageFor(model => model.FK_Vaca_IDRaca, "", new { @class = "text-danger" })
      </div>
  </div>

  <div class="form-group">
      @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
      <div class="col-md-10">
          @Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
          @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
      </div>
  </div>

对于任何拼写错误,我深表歉意,我是巴西人,会说葡萄牙语,但是,巴西论坛上没有人回答我的问题...

我的数据库:

My database

我创建了另一个模型,还有新的列和关系,我还多次更改了控制器,但没有任何效果,在逐行测试中我发现我无法将其添加到数据库中,因为我不从我的角度看不到数据。我想知道我哪里出错了。

c# asp.net-mvc entity-framework
1个回答
0
投票

表 [Vaca] 和表 [IdRaca] 之间存在外键约束错误。如果表 [IRaca] 中没有匹配记录,则无法插入表 [Vaca]

例如:

如果您尝试将以下内容插入表 [Vaca]

您需要在表 [IdRaca] 中有一条具有匹配值(突出显示)的记录。

© www.soinside.com 2019 - 2024. All rights reserved.