实体框架主键名称

时间:2012-05-29 08:41:57

标签: entity-framework

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

1 个答案:

答案 0 :(得分: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);