entity-framework – 如果使用Entity Framework,如何获取上次插入的ID
发布时间:2020-05-24 14:10:06 所属栏目:asp.Net 来源:互联网
导读:我正在使用EF来添加记录.我想获得最后一个插入的ID.以下是我的代码: string query = INSERT INTO MyTable(PONumber, Status, UpdatedBy, UpdatedOn, CreatedOn) VALUES(@PO_NUMBER, 0, @STAFF, GETDATE(), GETDATE());parameterList = new
|
我正在使用EF来添加记录.我想获得最后一个插入的ID.以下是我的代码: string query = "INSERT INTO MyTable(PONumber,Status,UpdatedBy,UpdatedOn,CreatedOn) VALUES(@PO_NUMBER,'0',@STAFF,GETDATE(),GETDATE())";
parameterList = new List<object>();
parameterList.Add(new SqlParameter("@PO_NUMBER",poNumber));
parameterList.Add(new SqlParameter("@STAFF",staff));
parameters = parameterList.ToArray();
result = db.Database.ExecuteSqlCommand(query,parameters);
query = "SELECT NewID = SCOPE_IDENTITY();";
var id = db.Lists.SqlQuery(query);
如何从var id迭代记录? 解决方法如果您正在使用EF,那么重点是您不必使用原始SQL.而是使用EF生成的对应于数据库表的对象类.所以在你的情况下,我宁愿做这样的事情: // create the EF context
using(YourEFContext ctx = new YourEFContext())
{
// create a new "MyTable" class
MyTable newEntity = new MyTable();
// set its properties
newEntity.PoNumber = poNumber;
newEntity.Status = 0;
newEntity.CreatedOn = DateTime.Now;
newEntity.UpdatedOn = DateTime.Now;
newEntity.UpdatedBy = staff;
// add new entity to EF context
ctx.MyTable.Add(newEntity);
// save changes to database
ctx.SaveChanges();
// read out your newly set IDENTITY value
int newIdentityValue = newEntity.ID;
}
清洁面向对象的代码 – 根本不需要杂乱的SQL! (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.Net MVC Ajax形式与jQuery验证
- asp.net-mvc – MVC角色授权
- asp.net-mvc – ASP.NET MVC 5身份应用程序用户作为外键
- asp.net – 将ViewState移出页面?
- 如何避免异常捕获.NET中的复制粘贴
- asp.net-mvc – Unity.MVC4懒惰在ASP.NET MVC应用程序中不起
- asp.net-mvc-3 – 使用ViewData将字符串从Controller传递到
- .net – 你用你的单元测试测试什么?
- asp.net – 将RSS pubDate格式化为.NET DateTime
- asp.net-mvc – IIS7 – 密码保护开发服务器
