Удаление всех соглашений.Решит ли это мою проблему

#ef-code-first #entity-framework-4.1

#ef-code-first #entity-framework-4.1

Вопрос:

Использование codefirst с существующей базой данных может быть довольно сложной задачей, поскольку все не соответствует соглашениям.Все еще не знаю, что такое все соглашения, но вот и все..

Теперь, если бы я удалил все соглашения, нужно ли мне все еще выполнять сопоставление fks и многих ко многим и т.д…

Есть ли какие-либо проблемы при этом.

есть предложения?

Ответ №1:

Если вы удалите все соглашения, вам придется сопоставить почти все с fluent API. Любое автоматическое обнаружение, такое как внешние ключи, первичные ключи и т.д., Выполняется с помощью соглашений. Также перевод атрибутов аннотации данных в отображение выполняется с помощью соглашений.

Комментарии:

1. спасибо за ваш ответ и время. Мое личное мнение таково, что, хотя code first предназначен для тех случаев, когда у вас нет базы данных, реальность такова, что большую часть времени база данных уже существует. Я просто хотел бы, чтобы было сделано больше для создания последовательного сопоставления, которое требуется, когда db уже установлена, без полного перехода dbfirst.

2. Проблема в том, что вся цель DbContext API заключалась в поддержке code-first. Это не должно было использоваться с существующей базой данных без EDMX. Люди делают это, потому что это частично работает, но это не предполагаемое использование.