Entity Framework 4.0 CTP5 ComplexType, зачем и зачем он мне нужен? - PullRequest
2 голосов
/ 27 февраля 2011

На самом деле не нашли ответа на этот вопрос.

Зачем и зачем мне нужен сложный тип в ef4?

Пожалуйста, приведите пример кода на c #, это будет болеечем оценили.

Большое спасибо заранее.

Ответы [ 2 ]

1 голос
/ 27 февраля 2011

Некоторая информация может лучше подходить для сложного типа. Например, если у вас есть тип продукта, который содержит некоторую информацию о его ширине, высоте и глубине. Вы можете создать свойство / столбец для каждого из них. Или просто создайте одно свойство, используя сложный тип, который сопоставлен с несколькими столбцами:

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 и пользовательскими типами. Но сейчас я не буду вдаваться в подробности.

0 голосов
/ 27 февраля 2011

Вы можете использовать сложные типы, например, для свойства адреса на персоне.

Ваши объекты выглядят так.

    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; }
    }

Ваша база данных имеет следующую таблицу.

Персона: Имя, Address_Line1, Address_Line2, Address_Line3

Таким образом, вы можете кодировать ООП.

Я использую это в основном для отношений типа один к одному.

...