Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 在实体框架中映射值类型集合_Entity Framework_Orm_Entity Framework 4_Entity Relationship - Fatal编程技术网

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有关为什么可能不提供“值对象集合”的透视图,请参阅(这是一般领域驱动的设计术语,而不是实体框架特定的)。