2012-05-29 71 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