C# 从实体框架5.0中的模型获取主键名称
我的项目是用EF5和MVC4开发的。我想为一个模型创建一个助手,在这个助手中,我需要获取模型的主键名 这是我的助手:C# 从实体框架5.0中的模型获取主键名称,c#,asp.net-mvc-4,helper,C#,Asp.net Mvc 4,Helper,我的项目是用EF5和MVC4开发的。我想为一个模型创建一个助手,在这个助手中,我需要获取模型的主键名 这是我的助手: public static MvcHtmlString DialogForModel(this HtmlHelper html) { object model = html.ViewData.Model; string primaryKeyName = GetPrimaryKeyNameForModel(model); ... } 我发现模型中有一个属性
public static MvcHtmlString DialogForModel(this HtmlHelper html)
{
object model = html.ViewData.Model;
string primaryKeyName = GetPrimaryKeyNameForModel(model);
...
}
我发现模型中有一个属性\u entityWrapper。在该属性中有另一个EntityKey,具有EntityKeyNames
这些属性有我的主键名称和值,但我不知道如何访问它
我怎么能这么做 我不知道你为什么需要它,但这可以解决你的问题。 创建包含key属性的BaseEntity类:
public class BaseEntity
{
public int Key { get; set; }
}
允许您从该类继承所有模型类:
public class SomeModelClass: BaseEntity
{
public string Prop{ get; set; }
}
在助手中,将模型转换为BaseEntity并获取键值。-虽然有点晚,但我认为这将实现您的目标。