Я создаю приложение в MVC3. Я использую Entity Framework как ORM. Может ли кто-нибудь сказать мне, что такое комплексные типы в ENtity Framework? Я не понимаю, что такое сложный тип.Что такое сложные типы?
ответ
Я выбрал это простое определение из книги 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, как предложено @Slauma.
Сложные типы способ инкапсулировать набор свойств объекта внутри структуры , которая не является сущностью. Вы используете их для организации свойств в структурах , которые делают ваш дизайн более понятным. Например, у вас может быть объект Customer, у которого есть свойства, которые делают адрес. Эти свойства можно расположить в сложном типе Address. Сложные типы - это типы концептуальных сущностей. Подробнее о комплексном типе Нажмите меня - http://softmindit.blogspot.in/p/mvc-is-framework-methodology-that.html –
Как вам удалось * не найти ответ простым поиском Google? Например: http://weblogs.asp.net/manavi/archive/2011/03/28/associations-in-ef-4-1-code-first-part-2-complex-types.aspx – Slauma