Я строю приложение, используя сущностные рамки. Я использую шаблон T4 для создания объектов самопроверки.
В настоящее время я думаю о создании кода платформы сущностей в отдельном проекте. В этом же проекте у меня будут частичные классы с дополнительными методами для сущностей.
Я думаю о создании отдельного проекта для сервисного уровня (WCF) с методами для верхнего уровня / уровня представления. Уровень WCF будет ссылаться на проект структуры объекта. Методы на уровне WCF будут возвращать объекты или принимать объекты в качестве параметров.
Я думаю о создании третьего проекта для уровня представления (ASP.net), он будет делать вызовы к службе WCF, но также должен будет ссылаться на объекты, так как методы WCF принимают эти типы в качестве параметров / типов возврата .
Короче говоря, я хочу использовать объекты STE, сгенерированные шаблоном T4, в качестве DTO для использования во всех слоях.
Первоначально я думал о создании слоя бизнес-логики, который отображается на каждую сущность. Пример: если у меня есть класс клиента, бизнес-уровень будет иметь класс CustomerBLL, а затем сервисный уровень будет использовать методы в customerBLL. Я также пытался создать DTO на этом бизнес-уровне. Однако я обнаружил, что этот подход очень трудоемкий, и я не вижу большой выгоды, так как это создаст дополнительные работы по техническому обслуживанию.
Какова лучшая практика для n-уровневой разработки приложений с использованием Entity Framework 4?