Какие типы шаблонов предназначены для использования, плюсы и минусы? - PullRequest
5 голосов
/ 21 октября 2010

Я почти не касался EF4, но довольно часто использовал Linq для sql.Я хотел бы начать с одного из шаблонов EF, но я не знаю, какие ситуации имеют смысл для каждого или каково их намерение.

У меня есть следующие возможности:

  • Данныешаблоны
    • Модель данных сущности ADO.NET
    • База данных на основе сервисов (это вообще связано с EF?
  • Шаблоны кода (я знаком сT4)
    • ADO.NET EntityObject Generator
    • ADO.NET Само отслеживаемый генератор сущностей
  • Онлайн-шаблоны
    • ADO.NETC # POCO Entity Generator

1 Ответ

14 голосов
/ 21 октября 2010

Понятия не имею, что делают ситуации смысл для каждого или каково их намерение был

Не хочу показаться грубым, но вы заглянули в MSDN / ASP.NET, чтобы узнать? Вокруг много информации. И у каждого из этих шаблонов есть много , больше, чем я могу здесь описать. Для каждого из них есть страница MSDN.

При этом я дам вам краткое резюме , так что люди, которые спотыкаются здесь, имеют некоторую информацию.

Модель данных сущности ADO.NET

Это файл, который вы создаете для использования Entity Framework в качестве ORM, и он обязателен для использования EF. Вам нужно это, прежде чем использовать любой из других. Вы можете создать свой EDM с помощью нескольких различных подходов, включая сначала базу данных (генерировать из БД), сначала код, сначала модель и т. Д.

База данных на основе услуг

Я никогда не слышал об этом термине, и, учитывая, что я много работал с EF в последнее время (и читаю), я сомневаюсь, что это будет связано с EF.

ADO.NET EntityObject Generator

Создает классы для сущностей, которые наследуются от класса EntityObject. Идентичен генератору кода EF по умолчанию, за исключением того, что вместо помещения выходного кода в файл Model.edmx.designer.cs (по умолчанию) код помещается в отдельные файлы. Лично я не вижу никакой пользы в этом шаблоне.

ADO.NET Автономный генератор сущностей

Генерирует классы для сущностей, когда вы хотите разрабатывать приложения N-уровня (т. Е. Если вы хотите, чтобы приложение WCF / Silverlight работало с вашей моделью). Объекты настроены на «отслеживание» графиком EF для обработки операций сохранения из различных приложений.

ADO.NET C # POCO Entity Generator

Мой любимый. :) Создает классы для сущностей, которые наследуют от ничего . Они понятия не имеют, что их используют для настойчивости. Используйте это для приложений, когда вам нужны постоянство невежества, тестируемость и слабая связь вашего домена / постоянства слоев.

...