2012-01-12 3 views
0

Можно создать дубликат:
EF 4.1 Code-first vs Model/Database-firstEntity framework - сначала код, или, может быть, модель?

я сделал некоторые исследования, но ответы не удовлетворили меня. Я начал собственное приложение asp.net mvc с инфраструктурой сущностей, чтобы работать с базой данных. Я начал с создания db, чем создать модель из этой базы данных. Ну, я знаю, что это называется «модель-первая». Я знаю второй способ: сделать это из школы (сначала код). Мой преподаватель сказал мне сегодня, что метод первой модели устарел. Это правда? Или возможно: имеет ли код-первое преимущество? На ваш взгляд, какая разница, какая из них лучше?

+3

IMHO, код первый или плакать позже. – Yuck

+0

Если вы создаете модель из db, сначала база данных сначала не модель. –

ответ

0

В частности, код EF сначала относится к коду, а модель сначала относится к базе данных.

, который лучше всего зависит от проекта. Если db рассматривается как ядро ​​приложения или вы используете специфические функции db, то подход, основанный на модели, имеет смысл.

Если модель домена рассматривается как ядро ​​приложения, это означает, что db является просто формой постоянного хранения, чем практический подход к коду.

как примечание стороны: эту концепцию обычно называют сначала моделью (домен/код) и db (схема db). с EF это несколько запутывает, поскольку модель относится к схеме db, а не к модели домена, а код относится к коду.

+1

Нет, первая модель и Code-first - это не одно и то же. Сначала первая и база данных используют файл .edmx, а в коде - нет. –

+0

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

+2

Нет, это неправильно. Во-первых, модель определяется посредством плавного кодирования кода. В модели - сначала модель определяется с помощью XML-сопоставления (как и в первой базе данных). Единственное различие между базой данных сначала и моделью - это то, с чего вы начинаете. Сначала в базе данных вы определяете свою модель данных в базе данных, а затем перепрограммируете ее в xml (файл .edmx).Сначала в модели вы определяете свою модель данных в дизайнере (или вручную закодированный xml, если вы являетесь жестким ядром), а затем генерируете базу данных из xml. В обоих случаях классы Entity создаются из XML. Сначала сначала создаются классы сущностей. –

0

DB сначала не устарел вообще. Фактически, для многих корпоративных проектов это путь.

Если вы строите что-то для себя с нуля, код сначала, вероятно, будет лучшим подходом.

0

Entity Framework обеспечивает: 1) базу данных сначала, 2) первую модель и 3) код в первую очередь. 2 Создает файл edmx База данных сначала: Entity Data Model (edmx: StorageModels) создается из существующей базы данных. Модель первая: модель концептуальных данных (edmx: ConceptualModels) создается с указанным дизайном и сопоставлениями. Из этого будет создана база данных. Код сначала: Создайте свои .NET-классы (нет .edmx-файла). Из этого будет создана база данных.

«Старая школа» будет использовать ADO.NET DataSet/DataTable.

Самый быстрый доступ к данным использует DataReader и записывает собственный доступ к данным. Никакая структура не будет быстрее, чем использование DataReader для заполнения ваших собственных POCOs.