2013-12-07 4 views
0

Я новичок в этом и не совсем понял БД сначала/Code first/POCO в EF. Это то, что я понимаю. Пожалуйста, дайте мне знать, если это верно:Разница между первым DB и первым подходом кода в EF?

  1. В первом подходе DB код создается на основе существующей базы данных. Затем мы можем использовать таблицы/представления/хранимые процедуры. Тангенциально, я вижу, что многие БД сначала подошли, где база данных уже имеет все sprocs и db. контекст содержит только sprocs (функция import), но не содержит никаких объектов таблицы (db. set). В этом случае, почему вы хотите использовать EF? Почему бы просто не использовать ADO.Net с SQL Command?

  2. В коде первого подхода, дБ. не существует в бэкэнд. дБ. генерируется с использованием объектов POCO.

  3. POCO: Используется ли это только в коде?

ответ

0

почему вы хотели бы использовать EF? Почему бы просто не использовать ADO.Net с SQL Command

EF автоматически заполнит объект сущности - с простым ADO.NET вам нужно заполнить объекты или использовать другую структуру ORM.

В первом подходе кода база данных не существует в бэкэнд. база данных создается с использованием объектов POCO.

Да; он также отслеживает изменения в базе данных между релизами (хотя я все еще просматриваю сценарии, так как EF может делать некоторые странные вещи для обновления баз данных)

POCO: Используется ли это только в коде?

Не обязательно, существуют рамки шаблона T4, которые будут генерировать объекты POCO из существующих объектов базы данных.

+0

Так что это означает в коде первого подхода, так как и когда мы изменяем классы модели, EF будет заботиться об обновлении БД? – user2250250

+0

@ user2250250 EntityFramework будет отслеживать изменения в контексте при изменении любых объектов, однако при их готовности вы должны вызвать SaveChanges() из dbContext. – TMan

+0

Это имеет смысл! Спасибо – user2250250

0

Как правило, в коде сначала создаются модели (или POCO, если вы хотите это назвать), и база данных создается на основе созданных классов моделей. Сначала в базе данных, как вы сказали, у вас есть существующий db, который принимает инфраструктура Entity и создает вам POCO (или ваши классы моделей) с использованием шаблона T4. Таким образом, ни одна из POCO не только для Code-first, но на самом деле это термин, используемый чаще всего в базе данных. Надеюсь, что это помогает

Проверить это, как хорошо: Code First vs. Database First Pros-Cons

+0

Спасибо, что разделили ссылку. Я назвал «D Stanley» ответом, поскольку он специально полагался на каждый из моих вопросов. – user2250250

Смежные вопросы