有没有办法使用Entity Framework 4获取列id值?
和SQL Query一样:
Select Orderid from OrderItems where Orderid = 1;
答案 0 :(得分:0)
您可以通过EntityKey
查询ObjectStateManger
来获取实体的关键值。在EF4中(假设你有ObjectContext
),它是这样的:
foreach (var ek in context.ObjectStateManager
.GetObjectStateEntries(System.Data.EntityState.Unchanged)
.Select(objectStateEntry => objectStateEntry.EntityKey))
{
System.Data.EntityKeyMember[] keys = ek.EntityKeyValues;
// Do something with keys
}
在EF6(DbContext
)中,它就像这样完成:
var oc = ((IObjectContextAdapter)context).ObjectContext;
foreach (var ek in oc.ObjectStateManager
.GetObjectStateEntries(System.Data.Entity.EntityState.Unchanged)
.Select(objectStateEntry => objectStateEntry.EntityKey))
{
System.Data.Entity.Core.EntityKeyMember[] keys = ek.EntityKeyValues;
// Do something with keys
}
这将获得此时已加载到上下文中的实体的键值。