我创建了一个实体模型。我想在运行时传递实体名称时获取主键名称(即属性名称)。有可能吗?
答案 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);