什么是复杂类型?

时间:2013-08-19 11:57:12

标签: entity-framework-4.1 complextype

我正在MVC3中创建一个应用程序。我使用实体框架作为ORM。谁能告诉我ENtity框架中的复杂类型是什么? 我没有得到什么是复杂类型。

1 个答案:

答案 0 :(得分:0)

我从EntityFramework书中选择了这个简单的定义。 (定义在EF代码的上下文中)

复杂类型公约 当Code First发现无法推断出主键的类定义,并且没有通过数据注释或流畅的API注册主键时,该类型将自动注册为复杂类型。复杂类型检测还要求类型不具有引用实体类型的属性,并且不从另一种类型的集合属性引用。鉴于以下类定义,Code First会推断出Details是一个复杂类型,因为它没有主键。

public partial class OnsiteCourse : Course
{
    public OnsiteCourse()
    {
        Details = new Details();
    }

    public Details Details { get; set; }
}

public class Details
{
    public System.DateTime Time { get; set; }
    public string Location { get; set; }
    public string Days { get; set; }
}

休息你可以很容易地找到关于EF复杂类型的Google搜索,正如@Slauma所建议的那样。