使用实体框架4.0中的上下文确定实体的主键

Bra*_*don 3 .net c# reflection entity-framework

我有几个从我的Entity Framework数据模型生成的实体.在.edmx文件中,我可以看到标记为主键的属性.我的POCO /自定义上下文是从这个和T4模板生成的.

我正在寻找一种方法来使用Entity Framework 4.0的反射找出我的实体的主键.是否有一个属性我需要设置才能在生成POCO时设置它?在我的上下文中是否有属性我可以用来深入查找并查找此信息?

Bra*_*don 7

更新了我的T4模板以添加以下内容:

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

然后使用反射来查找EntityKeys.