Куда положить сгенерированные файлы EF 4? - PullRequest
0 голосов
/ 09 апреля 2011

В моем веб-приложении 3 csprojs:

  • UI.Web
  • Bll.Web
  • DAL.Web

Ссылки UI.Web Ссылки Bll.Web и Bll.Web DAL.Web.

DAL.Web очень просты и содержат только такие методы, как:

GetDataTableFromSP
GetScalarFromSP
ExecuteScalarFromSP

Я реверс-инжиниринг моей БД сEF4, а также использовал шаблон Self-Tracking Entities.Теперь у меня осталось 3 файла:

  1. Model.Context.tt
  2. Model.tt
  3. Model.edmx

MyВопрос в структуре моего проекта, где я могу разместить их так, чтобы я придерживался своего n-уровневого подхода?

Спасибо!

Ответы [ 2 ]

1 голос
/ 09 апреля 2011

Я бы поместил шаблон T4 (и, следовательно, сгенерированные сущности) в его собственную сборку Model, на которую ссылаются все слои.Вам просто нужно переместить Model.tt в новую сборку, открыть ее в VS с помощью одного из редакторов, чтобы вы могли увидеть код T4.Найдите Model.edmx и обновите путь, чтобы он правильно разрешал физическое местоположение на диске вашего проекта DAL.Web, содержащего Model.edmx.

Это дает вам возможность перезапустить шаблон T4, еслисхема / модель изменяются, но сохраняют разделение интересов, так как пользовательский интерфейс не должен зависеть от DAL.

Только что нашел следующее, что помогает объяснить это здесь

1 голос
/ 09 апреля 2011

Все зависит от личных предпочтений.

Например, я всегда помещаю эти файлы и модель в аспект DAL моего приложения. Но мне также нужен доступ к сгенерированным объектам, таким как Student, Grade или StaffType. Поэтому я ссылаюсь на DAL из BRL.

И в пользовательском интерфейсе I также необходимо знать о сгенерированных сущностях, потому что обычно я даю форму сущности, и она заполняет поля формы из этого объекта. Поэтому я также ссылаюсь на BRL из пользовательского интерфейса.

...