您好我知道如何使用ASP.NET MVC将数据插入到MsSQL DB中。
我正在使用(DBML)实体和SQL-LINQ
我有3个表,其中2个表与第一个表连接
表
用户
id,姓名,电子邮件
汽车
id,id_User,model,year
工作
id,id_User,location
我使用此代码将数据添加到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 and Work表,如何插入新记录?
使用之前的代码并获取ID(如果我没错,有办法获得最后一个实体)
使用此ID将记录插入Car and Work Table
有没有办法在一个独特的步骤中做到这一点?
答案 0 :(得分:0)
不要考虑ID而是对象......将此代码放在SubmitChanges()之前......
u.Car = new Car() { model = 'honda', year = 2000 };
u.Work = new Work () { location = 'new york' };
答案 1 :(得分: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();
您可以从Users表中获取最后插入的ID,如下所示
var UserID= (from con in dbdata.Users
select con).Max(x => x.UserID);
您可以使用从用户表中获取最后插入的ID
data.Users.OrderByDescending(u => u.UserId).FirstOrDefault()
您可以使用此ID从您的汽车和工作表中插入记录
用于Car table
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();
我认为这会对你有所帮助