Entity framework 在实体框架中映射值类型集合
类似问题: 我有一个角色类:Entity framework 在实体框架中映射值类型集合,entity-framework,orm,entity-framework-4,entity-relationship,Entity Framework,Orm,Entity Framework 4,Entity Relationship,类似问题: 我有一个角色类: public class Role { public int RoleID { get; set; } public virtual IList<string> Actions { get; set; } } 公共类角色 { public int RoleID{get;set;} 公共虚拟IList操作{get;set;} } 我在数据库中有一个映射表,“RoleActionMapping”中有“RoleID”和“Action”列。“
public class Role
{
public int RoleID { get; set; }
public virtual IList<string> Actions { get; set; }
}
公共类角色
{
public int RoleID{get;set;}
公共虚拟IList操作{get;set;}
}
我在数据库中有一个映射表,“RoleActionMapping”中有“RoleID”和“Action”列。“RoleID”是角色表的外键点,“Action”是varchar。我似乎无法设置我的EF映射以使用角色反应填充角色类
关于如何实现这一点有什么想法吗?谢谢 EF不提供这种映射 如果要对其进行映射,必须使用:
public class Role
{
public int RoleID { get; set;}
public virtual IList<RoleAction> Actions { get; set; } // you should initialize collection
}
public class RoleAction
{
public int ActionId { get; set; } // PK must be defined or entity is readonly
public string Action { get; set; }
public virtual Role { get; set; }
}
公共类角色
{
public int RoleID{get;set;}
公共虚拟IList操作{get;set;}//应该初始化集合
}
公共阶级角色
{
public int ActionId{get;set;}//PK必须定义或实体为只读
公共字符串操作{get;set;}
公共虚拟角色{get;set;}
}
您可以进一步扩展Role
类,以提供返回IEnumerable
的未映射属性,该属性将从Actions
属性内部选择数据
<>但是,一旦你遵循这个方法,你就应该把它建模为:<代码>角色< /C> >和<代码>动作< /代码>实体。太糟糕了,我希望它能做到。感谢您提供的解决方案。@manu08有关为什么可能不提供“值对象集合”的透视图,请参阅(这是一般领域驱动的设计术语,而不是实体框架特定的)。