代码第一个ComplexType列表不起作用

时间:2018-04-23 18:30:49

标签: c# entity-framework entity-framework-6 complextype

我搜索过,但无法找到有关使用List<MyComplexType>的任何信息。这是我正在寻找的0对多关系。

我正在使用EF6进行代码优先设计,我有一个复杂的类型设置:

[ComplexType]
public class Image
{
    public byte[] Bytes { get; set; }
    public string Name { get; set; }
    public string ContentType { get; set; }
}

当我将此添加到另一个模型时:

public class UserProfile 
{
    //User Profile properties 
    public List<Image> Images { get; set; }
}

然后创建一个新的迁移并更新数据库如果我查看数据库图表,我在任何地方都看不到有关Images的任何信息。没有关联表,没有 - 看起来它被忽略了。

但是,当我将UserProfile类更改为如下所示时:

public class UserProfile 
{
    //User Profile properties 
    public Image Image { get; set; }
}

然后查看数据库图表,我看到这些列:

   //Bunch of other columns, name, address, etc.
   Image_Name
   Image_Bytes
   Image_ContentType

无论如何,我可以做List<MyComplextType>吗?

1 个答案:

答案 0 :(得分:0)

要获取Images表,您还需要将其添加到数据上下文中。像这样:

public virtual DbSet<Image> Images { get; set; }

(您还应该为Image类添加主键。在UserProfile类中,Images应定义为public virtual ICollection<Image>