Изучение EF Code First: Какие недостатки по сравнению с моделью first? - PullRequest
0 голосов
/ 08 ноября 2011

Я думаю о том, чтобы сначала перейти от модели EF к коду.Преимущества кажутся мне достаточно ясными, и это кажется довольно интуитивным в использовании.Каковы недостатки по сравнению с моделью в первую очередь?Какие подводные камни я должен подозревать?

1 Ответ

6 голосов
/ 08 ноября 2011

Есть множество недостатков:

  • Вы должны написать весь код самостоятельно
  • Вы меньше контролируете создание базы данных
  • У вас нет поддержки блока питания базы данных для инкрементальной разработки базы данных (сначала в коде были миграции SQL, но они все еще находятся в бета-версии и не предоставляют такой же набор функций, как у блока питания)
  • Вы потеряете некоторые базовые и почти все расширенные функции отображения (но эти расширенные функции обычно не используются в первую очередь с моделью).
  • Скорее всего, вы будете использовать DbContext API
    • Это будет новым для вас (если вы сначала не используете его с моделью)
    • Вам все равно придется возвращаться к ObjectContext API в более сложных случаях, поскольку DbContext API предназначен только для самых простых задач
    • Может иметь дополнительные ошибки, а иногда производительность даже хуже, чем API-интерфейс ObjectContext
    • ИМХО после нескольких месяцев использования и следования тэгам EF на SO Я думаю, что это все еще довольно незрелый

В любом случае, DbContext API является основным направлением. Поскольку .NET 4.5 DbContext API будет Entity Framework, а ObjectContext API будет Entity Framework Core библиотеки. Это определенно означает, что DbContext API - это то, что команда ADO.NET хочет продвинуть вперед.

...