从实体框架5.0中的模型获取主键名称

时间:2013-10-26 23:37:24

标签: c# asp.net-mvc-4 helper

我的项目是使用EF5和MVC4开发的。我想为模型创建一个帮助器,在这个帮助器中,我需要获得模型的主键名称。

这是我的助手:

public static MvcHtmlString DialogForModel(this HtmlHelper html)
{
    object model = html.ViewData.Model;
    string primaryKeyName = GetPrimaryKeyNameForModel(model);
    ...
}

我发现在模型中有一个属性 _entityWrapper 。在此媒体资源中,还有另一个 EntityKey ,其中包含 EntityKeyNames

这些属性有我的主键名和值,但我不知道如何访问它。

我该怎么做?!

1 个答案:

答案 0 :(得分:0)

我不确定你为什么需要它,但这可以解决你的问题。 使用key属性创建BaseEntity类:

public class BaseEntity 
{
   public int Key { get; set; }
}

让所有Model类继承此类:

public class SomeModelClass: BaseEntity 
{
    public string Prop{ get; set; }
}

在你的助手中将模型转换为BaseEntity并获取Key值。