实体框架4.0 CTP5 ComplexType为什么以及我需要它做什么?

时间:2011-02-27 11:19:46

标签: entity-framework c#-4.0

实际上还没有找到答案。

为什么我需要在ef4中使用复杂类型?

请在c#中给出一个代码示例,我们将非常感激。

非常感谢你。

2 个答案:

答案 0 :(得分:1)

某些信息可能更适合融入复杂类型。例如,假设您有一个产品类型,其中包含有关其宽度,高度和深度的一些信息。您可以为每个属性/列创建属性/列。或者只使用映射到多个列的复杂类型创建单个属性:

public class Dimensions
{
    public double Width { get; set; }
    public double Height { get; set; }
    public double Depth { get; set; }
}

public class Product
{
    public Dimensions Dimensions { get; set; }
}

你的'产品'表可能看起来像这样:Id,Name,Width,Height,Depth;但是你得到了一个更好的对象。

复杂类型也可用于解决EF和自定义用户类型的一些问题。但我现在不会这样做。

答案 1 :(得分:0)

您可以将复杂类型用于人员的地址属性。

您的对象看起来像这样。

    public class Person
    {
        public string Name { get; set; }
        public Address Address { get; set; }
    }

    public class Address
    {
        public string Line1 { get; set; }
        public string Line2 { get; set; }
        public string Line3 { get; set; }
    }

您的数据库有下表。

Person:Name,Address_Line1,Address_Line2,Address_Line3

这样你就可以用OOP方式编码。

我主要用它来做一对一的关系。