0

嗨,我知道如何使用 ASP.NET MVC 将数据插入 MsSQL DB。

我正在使用(DBML)实体和 SQL-LINQ

我有 3 个表,其中 2 个与第一个加入

桌子

用户

身份证、姓名、姓氏、电子邮件

id , id_User , 型号 , 年份

工作

id , id_User , 位置

我使用此代码将数据添加到 SQL

DataUserDataContext data = new DataUserDataContext(); 
User u = new User();
u.Name= "John";
u.Surname= "Lock";
u.email = "someemail@email.com" 
data.Users.InsertOnSubmit(u);
p.SubmitChanges();  

现在我的问题是:

考虑到我也应该填写 Car 和 Work 表,如何插入新记录?

使用之前的代码并获取 ID(如果我没记错的话,有办法获取最后一个实体)

使用此 id 将记录插入 Car 和 Work Table

有没有办法在一个独特的步骤中做到这一点?

4

2 回答 2

0

不要考虑 ID,而是考虑对象...将此代码放在 SubmitChanges() 之前...

u.Car = new Car() { model = 'honda', year = 2000 };
u.Work = new Work () { location = 'new york' };
于 2012-10-13T14:07:22.810 回答
0

首先,您也可以使用它来将数据插入到用户表中,如下所示

DataUserDataContext data = new DataUserDataContext(); 
User u = new User();
u.Name= "John";
u.Surname= "Lock";
u.email = "someemail@email.com" 
data.Users.AddObject(u)
data.SubmitChanges();

你可以像这样从你的用户表中获取最后插入的 id

var UserID=  (from con in dbdata.Users
     select con).Max(x => x.UserID);

您可以使用从 users 表中获取最后插入的 id

data.Users.OrderByDescending(u => u.UserId).FirstOrDefault()

你可以使用这个 id 从你的汽车和工作台插入记录,就像这样

用于汽车桌

DataUserDataContext data = new DataUserDataContext(); 
Car objcar = new Car()
objcar.id_User = UserID;
objcar.model="hondacity";
objcar.year="2012";
data.Cars.AddObject(objcar);
data.SubmitChanges();

用于工作台

DataUserDataContext data = new DataUserDataContext(); 
Work objwork=new Work();
objwork.id_User =UserID;
objwork.Location="US";
data.Works.AddObject(objwork);
data.SubmitChanges();

我想这会对你有所帮助

于 2012-10-13T14:39:25.807 回答