我有简单的数据库。让我在表AddBookName
数据库中使用NamesSet
记录添加应生成随机BookNameID。主要问题是如何找出为建立与表BookNameID
的连接而生成的Books
?
书籍:
CREATE TABLE [dbo].[BooksSet] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[BookNameID] NVARCHAR (MAX) NOT NULL,
[PlaceID] NVARCHAR (MAX) NOT NULL,
CONSTRAINT [PK_BooksSet] PRIMARY KEY CLUSTERED ([Id] ASC)
);
姓名
CREATE TABLE [dbo].[NamesSet] (
[BookNameID] INT IDENTITY (1, 1) NOT NULL,
[BookName] NVARCHAR (MAX) NOT NULL,
[Language] NVARCHAR (MAX) NOT NULL,
CONSTRAINT [PK_NamesSet] PRIMARY KEY CLUSTERED ([BookNameID] ASC)
);
HomeController中:
public class HomeController : Controller
{
//
// GET: /Home/
TestEntities TE = new TestEntities();
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult AddBookName(Names name)
{
TE.NamesSet.Add(name);
TE.SaveChanges();
return View();
}
}
查看:
@model TestDataBase.Models.Names
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@using(@Html.BeginForm("AddBookName","Home"))
{
@Html.EditorFor(x=>x.BookName)
@Html.EditorFor(x => x.Language)
<input type="submit" value="Add name"/>
}
答案 0 :(得分:1)
当您调用SaveChanges()
时,添加到上下文中的所有对象都将使用数据库中生成的值进行填充。因此,生成的值应该在该行之后可用:
name.BookNameID