Я использую многоуровневую архитектуру с Entity Framework. Вот что я придумал до сих пор (все проекты исключения пользовательского интерфейса библиотеки классов):Entity Framework в многоуровневой архитектуре
Сущность: РоКо Сущность. Полностью упорство невежественное. Нет Ссылка на другие проекты. Создано Microsoft ADO.Net POCO Entity Generator.
DAL: Файл EDMX (Entity Model) с классом контекста. (t4 сгенерировано). Список литературы:
Entities
BLL: Business Logic Layer. Будет реализовывать шаблон репозитория на этом уровне. Ссылки:
Entities
,DAL
. Это где ObjectContext получает заселена:var ctx=new DAL.MyDBEntities();
UI: Презентация слоя: веб-сайт ASP.NET. Ссылки:
Entities
,BLL
+ запись строки подключения к объектам в файле конфигурации (вопрос № 2).
Теперь мои три вопрос:
- Является ли мой слой discintion подход правильным?
В моем UI, я получить доступ к BLL следующим образом:
var customerRep = new BLL.CustomerRepository();
var Customer = customerRep.GetByID(myCustomerID);Проблема заключается в том, что я должен определить строку сущности соединения в моем web.config/UI в app.config иначе я получаю исключение во время выполнения. IS, определяющий сущность строки соединения в пользовательском интерфейсе, портит различие уровней? Или это доступно в многоуровневой архитектуре.
- Должны ли я предпринимать какие-либо дополнительные шаги для отслеживания движения, ленивой загрузки и т. Д. (По и т. Д. Я имею в виду функции, которые Entity Framework охватывает в обычном, 1 проекте, без кода кода POCO)?
Спасибо и приносим извинения за длительный вопрос.
каждый из «слоев» на отдельных уровнях/машинах? помните уровень уровня! =. – RPM1984
Нет, многоуровневый, не многоуровневый – Kamyar
Любые руководства по вопросу № 3? – Kamyar