使用外键ASP.NET将信息保存在表中

时间:2018-08-01 00:33:23

标签: sql-server asp.net-mvc-5 controller

我是ASP.NET MVC的新手,我正在尝试制作一个简单的应用程序,其中我只有两个表,第一个表是作者,第二个表是表书。当我注册一个作者时,他将其保存在数据库中,但是当我想要注册一本书时,他将我标记为错误。

System.Data.Entity.Infrastructure.DbUpdateException:'更新条目时发生错误。有关详细信息,请参见内部异常。'

InvalidOperationException:ReferentialConstraint中的一个依赖属性被映射到商店生成的列。列:“ Id”。

我在书本表中有一个指向作者的外键:

Id_autor int foreign key references autor(ID)

这是POST方法

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "Id,nombrelibro")] libros libros)
    {
        if (ModelState.IsValid)
        {
            db.libros.Add(libros);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        ViewBag.Id = new SelectList(db.autor, "Id", "nombre", libros.Id);
        return View(libros);
    }

我尝试执行以下操作

if (ModelState.IsValid)
{
    libros.autor.Id = 1; 
    db.libros.Add(libros);
    b.SaveChanges();
    return RedirectToAction("Index");
}

但这也给我以下错误: System.NullReferenceException:'对象引用未设置为对象实例

0 个答案:

没有答案