2012-05-29 156 views
1

我已经创建了一个实体模型。我想在运行时传递实体名称时获取主键名称(即属性名称)。可能吗?实体框架主键名

+0

列名或属性名称?你为什么需要列名? –

+0

是的,我的意思是物业名称 – gunnerz

回答

1

有可能与实体类型:

var objectSet = objectContext.CreateObjectSet<YourEntityType>(); 
var keyNames = objectSet.EntitySet.ElementType.KeyMembers.Select(k => k.Name); 

或实体类型名称:

var workspace = objectContext.MetadataWorkspace; 
var entityType = workspace.GetItems<EntityType>(DataSpace.CSpace) 
          .FirstOrDefault(e => e.Name == yourEntityTypeName); 
var keyNames = entityType.KeyMembers.Select(k => k.Name); 
+0

非常感谢。有用! – gunnerz