我正在使用LINQ-to-SQL类.它有一个方法object.InsertOnSubmit().但它返回void,所以我可以在插入记录后获得主键值.
我想要最近插入的记录的主键值.
是(假设它是一个身份字段).
单独调用InsertOnSubmit不会将插入发送到db.您需要调用SubmitChanges以便将当前datacontext实例中的任何更改发送到db.
调用SubmitChanges后,可以从调用InsertOnSubmit时使用的实例访问值.Linq to sql将在执行插入时为您填充这些值(在SubmitChanges期间发生)
请查看此示例:http://msdn.microsoft.com/en-us/vbasic/bb737920.aspx#dynid
简而言之,您不需要.对象本身已更新.
public void Add(Person person)
{
using (MyEntities context = new MyEntities())
{
Context.Persons.InsertOnSaveChanges(person);
Context.SaveChanges();
}
}
public void Foo()
{
Person p = new Person { name = "John", age = 20 }
Add(p);
Int32 id = p.id; // id contains the newly inserted object's id
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15755 次 |
| 最近记录: |