C# 将简单类型的集合映射到表

C# 将简单类型的集合映射到表,c#,C#,我有以下表格: 资源集 +Id int [……] 资源标记集 +Id int +ResourceId int[FK:ResourceSet(Id)] +标签 我想使用以下定义: 公共类资源 { 公共int Id{get;set;} [……] 公共虚拟ICollection标记{get;set;} } 我需要将标记集合映射到ResourceTagSet(标记)值。我只需要读取它们(插入是使用SP完成的) 是否可以使用EF CodeFirst 4.1执行此操作 谢谢否。您必须映射相关实体的集合。比如

我有以下表格:

资源集 +Id int [……]

资源标记集 +Id int +ResourceId int[FK:ResourceSet(Id)] +标签

我想使用以下定义:

公共类资源 { 公共int Id{get;set;}

[……]

公共虚拟ICollection标记{get;set;} }

我需要将标记集合映射到ResourceTagSet(标记)值。我只需要读取它们(插入是使用SP完成的)

是否可以使用EF CodeFirst 4.1执行此操作


谢谢

否。您必须映射相关实体的集合。比如:

public class Resource
{
  public int Id {get; set; }

  [..]

  public virtual ICollection<ResourceTag> TagsSet { get; set; }
}
公共类资源
{
公共int Id{get;set;}
[..]
公共虚拟ICollection标记集{get;set;}
}
如果只需要字符串集合,可以添加其他属性:

public IEnumerable<string> Tags 
{
    get
    {
        return TagsSet.Select(t => t.Tag);
    }
}
公共IEnumerable标记
{
得到
{
返回标记set.Select(t=>t.Tag);
}
}