Entity Framework и Code First Development - PullRequest
7 голосов
/ 29 ноября 2011

Microsoft выпускает Entity Framework 4.0 и в нем разработчики могут заниматься разработкой кода в первую очередь. Это хорошо, и благодаря Microsoft.

У меня одно замешательство по поводу разработки кода в первую очередь. Я работал над Entity Framework в ASP.NET 3.5 SP1 и Visual Studio 2008 SP1. В этом мы создаем схему базы данных и из этого мы создаем Entity Data Model. Это означает, что мы создаем нашу модель класса из базы данных. Я думаю, что это называется первая разработка данных.

Но когда мы создаем Entity Data Model в Entity Framework 3.5 SP1, тогда есть два варианта. Первый - Генерация из существующей базы данных, а второй - создание пустой модели. Предположим, я создаю пустую модель и затем сопоставляю ее с базой данных. Поэтому мы сначала разрабатываем модели классов, не задумываясь о схеме базы данных, а затем сопоставляем ее с базой данных. Мое замешательство, это называется первым развитием кода? Тогда почему люди и книги из сообщества говорят, что «невозможно начать разработку кода в Entity Framework 3.5 SP1»?

Чтобы решить мою ошибку, мне нужна твоя помощь. Поэтому, пожалуйста, дайте ответ на этот пост.

Спасибо.

Ответы [ 3 ]

5 голосов
/ 29 ноября 2011

Code First доступен начиная с Entity Framework 4.x. Таким образом, вы не можете сгенерировать базу данных из вашей модели кода в 3.5 SP1.

В основном есть 3 типа:

  1. База данных первая (база данных уже существует, вы создаете edmx из нее с помощью мастера)
  2. Model First (вы создаете модель базы данных с помощью конструктора, Entity Framework выделяет базу данных из этого)
  3. Code First (вы создаете свой код, Entity Framework создает базу данных из этого)

Дополнительные сведения: Разработка кода с использованием Entity Framework 4

3 голосов
/ 29 ноября 2011

На самом деле это называется разработкой, основанной на модели. Хотя дизайнер по умолчанию в Visual Studio напрямую превращает вашу модель в код, на самом деле это просто «концептуальная модель», которую вы видите в конструкторе. Там, где вы определяете свойства и отношения, дизайнер использует «Стратегию генерации кода», которая создает классы .NET для вас.

Подход "новый код сначала" позволяет вам создавать классы .NET напрямую, а затем выясняет, как выглядит "концептуальная модель".

1 голос
/ 29 ноября 2011

Когда вы создаете пустую модель и затем пытаетесь смоделировать домен, это называется Model First. вы можете визуально спроектировать модель сущности в конструкторе. Затем она создаст для вас отношения.

В коде сначала у вас нет визуального дизайнера. Вы должны сами кодировать отношения. Так оно и называется Code First.
Посмотрите на это для более подробной информации

Код сначала против модели / базы данных сначала

...