问题描述
在.NET/C#应用程序开发过程中,我们需要在向数据库写入数据后返回刚才写入数据对应的自增ID数值,如果使用的是Entity Framework
ORM
库,应该如何获取呢?
方案一
使用Entity Framework
的话,还是比较简单的。如果我们设计的数据库中对应表的ID字段是自增的,那么,只需要将实体添加到ObjectSet
对象上,然后调用SaveChanges()
方法,自增ID的值将自动返回并赋值给当前的实体,如下:
using (var context = new MyContext())
{
context.MyEntities.AddObject(myNewObject);
context.SaveChanges();
int id = myNewObject.Id; // Yes it's here
}
Entity Framework
会默认执行SQL
的SELECT SCOPE_IDENTITY
,此语句将返回当前INSERT
语句执行的自增ID值。
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册