你们有没有人能告诉我如何完成以下任务?
// Prepare object to be saved
// Note that MasterTable has MasterTableId as a Primary Key and it is an indentity column
MasterTable masterTable = new MasterTable();
masterTable.Column1 = "Column 1 Value";
masterTable.Column2 = 111;
// Instantiate DataContext
DataContext myDataContext = new DataContext("<<ConnectionStrin>>");
// Save the record
myDataContext.MasterTables.InsertOnSubmit(masterTable);
myDataContext.SubmitChanges();
// ?QUESTION?
// Now I need to retrieve the value of MasterTableId for the record just inserted above.
亲切的问候
答案 0 :(得分:5)
在您调用SubmitChanges之后,将为插入的对象分配标识值。
只需访问:
masterTable.MasterTableId
答案 1 :(得分:0)
我知道LINQ to SQL会自动包装数据库事务中的所有更改。因此,如果我想将返回的ID用于另一个插入(我的用户表有一个AddressID,那么我添加一个新的地址记录然后添加一个带有该ID的新用户记录)并且插入用户时出现问题,地址插入不会回滚。你应该将SubmitChanges包装在另一个交易中吗?