Как использовать EF4 в качестве DAL - PullRequest
0 голосов
/ 14 апреля 2011

В настоящее время я использую EF 4 с моим веб-сайтом ASP.NET для доступа к базе данных MySql. Это отлично работает. Однако теперь я хочу, чтобы другой проект веб-сайта имел доступ к тем же объектам. Как мне это настроить?

Я не могу просто сослаться на оригинальный сайт, так как это веб-сайт, а не веб-приложение. Итак, предположительно, мне нужно поместить Entity Data Model в собственный проект и скомпилировать в DLL. Но ...

  • Какой тип проекта?
  • Должен ли я просто вырезать и вставить DataModel.edmx и DataModel.Designer.cs, скомпилировать и добавить ссылку на оба веб-сайта? А как насчет пространств имен?
  • Где разместить строку подключения? На данный момент он находится в Web.config моего проекта.

Я действительно понятия не имею, с чего начать - я только следовал учебникам, чтобы заставить EF работать до сих пор! Я бы очень признателен за пошаговые инструкции, если у кого-то есть время. Спасибо.

1 Ответ

2 голосов
/ 14 апреля 2011

Модель должна быть помещена в новый проект библиотеки классов.Я бы предпочел воссоздать модель в данный момент на основе существующей модели.Для пространства имен мне нравится использовать {CompanyName} .DataAccess.Удалите старую модель из проекта веб-сайта, добавьте ссылку на новый проект библиотеки классов и постройте проект веб-сайта.Проект веб-сайта будет ломаться во многих местах, но это должно быть простым вопросом изменения пространства имен на новую сборку доступа к данным.Я предпочитаю этот метод для вырезания / вставки, потому что теперь у вас есть красивые чистые пространства имен.Будьте осторожны с любыми местами, в которых могут быть строки с именами сущностей, например, если вы используете «Включить» (если вы используете EF 4 и отложенную загрузку, это не должно быть проблемой).Оставьте строку подключения в web.config для обоих проектов веб-сайта.Когда вы создаете модель в библиотеке классов, она добавит строку подключения в app.config.Это нормально, это просто так, поэтому модель знает, как подключиться к базе данных при ее обновлении.

...