Вредная модель домена POCO при создании классов сущностей LINQ? - PullRequest
5 голосов
/ 09 июля 2009

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

Спасибо

Ответы [ 2 ]

1 голос
/ 09 июля 2009

Этот пост, также на SO, отвечает на мой вопрос: (Спасибо Google)

Классы сущностей отделены от поставщика LINQ to SQL для реализации шаблона репозитория. Как?

EDIT:

Ну, может, нет, это обычная жалоба на классы сущностей?

ДРУГОЕ РЕДАКТИРОВАНИЕ:

Хорошо, поэтому в принципе это невозможно сделать в данный момент, но в .NET 4.0 это возможно.

0 голосов
/ 14 декабря 2009

Было еще несколько подобных вопросов.
На этой неделе я играл с EF4, вы можете подписаться на сообщение в блоге Джули Лерман серии , чтобы реализовать шаблон репозитория с EF4. Это работает хорошо, хотя это еще не совсем прямо вперед ...
Насколько я знаю, это невозможно сделать с EF3.5. Удачи.

...