Я использую EF 4.1 Database First, с шаблоном T4, генерирующим мои классы POCO в отдельной сборке. У меня есть репозитории для извлечения данных и сервисный уровень, который используется для связи с пользовательским интерфейсом.
Я пытался сделать каскадные выпадающие списки.
Я новичок в MVC и EF 4.1, поэтому я искал stackoverflow для возможных решений.
Это пример класса представления модели:
public class MyViewModel
{
public int CustomerId { get; set; }
public string CustomerName { get; set; }
public IEnumerable<Phone> Phones { get; set; }
}
То, что я прочитал до сих пор, решения:
Использовать ScriptIgnoreAttribute
в
System.Web.Script.Serialization
вкл
ссылки на свойства - я не
очень хочу сделать это, потому что я
не хочу добавлять ссылку на
System.Web в моем проекте POCO
Отключить отложенную загрузку в EF 4.1 DbContext - я не уверен, хочу ли я использовать Включить подробный мой проект
Возвращать анонимные типы - у меня будут проблемы с этим подходом, когда мой проект станет большим?
Используйте ViewModel - предположим, у меня есть Клиент, который может иметь 1 или более телефонов. В первом выпадающем списке вы можете выбрать «Клиент», а во втором - все его телефоны.
Но не вызовет ли это круговое исключение для моего объекта Phones? Или я бы сделал специальный класс для моего объекта Phone? Это похоже на много ненужного кода.
Использовать AutoMapper - не иметь опыта работы с AutoMapper, поэтому я не знаю, насколько это сложно.
За кого бы вы проголосовали и почему?