2010-07-28 64 views
3

我有從我的實體框架數據模型生成的幾個實體。在.edmx文件中,我可以看到標記爲主鍵的屬性。我的POCO /自定義上下文是從這個和T4模板生成的。使用實體框架4.0中的上下文確定實體的主鍵

我正在尋找一種方法來找出我的實體的主鍵使用與實體框架4.0反射。在生成POCO的時候,是否需要設置一個屬性?在我的環境中是否有一個屬性可用於深入查找此信息?

+1

您是POCO's的Code-First還是僅使用設計人員生成的類? – TheCloudlessSky 2010-07-28 21:09:47

回答

6

更新我的T4模板,添加以下內容:

<# if(ef.IsKey(edmProperty)) 
{ 
#> 
[EdmScalarPropertyAttribute(EntityKeyProperty=<#=code.CreateLiteral(true)#>)] 
<# 
} 
#> 

然後使用反射來找到EntityKeys。