Подтвердить первую модель кода EF против существующей базы данных

Есть ли способ проверить, что DbContext соответствует базе данных, когда база данных сначала не была создана кодом EF?

Я ищу аналогичную функциональность Database.CompatibleWithModel, но метаданных нет.

Ответы

Ответ 1

В настоящее время в EF нет способа сделать это; однако вы можете использовать DDL script в качестве отправной точки для проверки того, что все артефакты существуют в базе данных. Чтобы получить этот script, используйте

string ddlScript = ((IObjectContextAdapter)myContext).ObjectContext.CreateDatabaseScript();

Некоторые инструменты могут использовать этот script для сравнения схемы с вашей базой данных. Это скажет вам, совместима ли ваша модель.

Ответ 2

Вы пробовали использовать Силовые инструменты Entity Framework.

вы можете использовать инструменты для обратного кода инженера, сначала - создает POCO классов, полученных DbContext и Code First для существующего базы данных.

И тогда, может быть, вы можете сравнить обратную инженерную информацию с тем, что у вас уже есть.