Повреждение модели домена POCO при создании классов сущностей LINQ?
-
12-09-2019 - |
Вопрос
Скажем, у меня есть модель предметной области, созданная из классов C#, например:
public class MyClass
{
public string MyProperty { get; set; }
}
Наряду с моделью я определил классы интерфейсов репозитория для IoC.
Теперь я пытаюсь превратить эту модель предметной области POCO в набор классов Entity, используя сопоставление LINQ.(Этот подход был рекомендован в книге по MVC, которую я читаю.) В приведенном выше примере это было достаточно легко сделать с несколькими атрибутами, не влияя при этом на «простую старость» классов:
[Table]
public class MyClass
{
[Column]
public string MyProperty { get; set; }
}
Проблема возникает, когда я начинаю сопоставлять ассоциации, изменять модификации и тому подобное.Кажется, я быстро разрушаю первоначальную концепцию модели предметной области и вместо этого просто создаю набор классов LINQ-to-SQL.Я что-то пропустил?Являются ли эти классы по-прежнему подходящим местом для бизнес-логики?Смогу ли я по-прежнему и должен ли продолжать загружать данные в эти классы из источников, отличных от LINQ и отличных от БД?
Спасибо
Решение
Этот пост, также посвященный SO, отвечает на мой вопрос:(Спасибо Google)
Классы сущностей отделены от поставщика LINQ to SQL для реализации шаблона репозитория.Как?
РЕДАКТИРОВАТЬ:
А может и нет, это обычная жалоба на классы сущностей?
ДРУГОЕ РЕДАКТИРОВАНИЕ:
Хорошо, в настоящее время это невозможно сделать, но с .NET 4.0 это возможно.
Другие советы
Было еще несколько подобных вопросов.
На этих выходных я играл с EF4, вы можете следить Серия постов в блоге Джули Лерман для реализации шаблона репозитория с помощью EF4.Это работает хорошо, хотя это еще не совсем просто...
Насколько я знаю, с EF3.5 сделать это невозможно.Удачи.