EF 可以通过 db.Set<Order>().Find(12) 获取实体,但如何反过来通过实体获取 Key 呢?因为做了一个通用的功能,传来的实体是 object 类型,可能是 Order 也可能是 Product 还可能是其它的。
2 回答
![?](http://img1.sycdn.imooc.com/54584ee0000179f302200220-100-100.jpg)
隔江千里
TA贡献1906条经验 获得超10个赞
试试下面扩展方法:
1 public static class DbContextExtensions { 2 public static EntityKey GetEntityKey(this DbContext context, object entity) { 3 var adapter = context as IObjectContextAdapter; 4 var entry = adapter.ObjectContext.ObjectStateManager.GetObjectStateEntry(entity); 5 return entry.EntityKey; 6 } 7 }
没严格测试,自己再调整下好了。
- 2 回答
- 0 关注
- 814 浏览
添加回答
举报
0/150
提交
取消