Есть ли способ проверить, соответствует ли DbContext базе данных, когда база данных не была создана сначала кодом EF?
Я ищу функциональность, аналогичную Database.CompatibleWithModel, но нет метаданных.
Есть ли способ проверить, соответствует ли DbContext базе данных, когда база данных не была создана сначала кодом EF?
Я ищу функциональность, аналогичную Database.CompatibleWithModel, но нет метаданных.
В настоящее время в EF нет возможности сделать это; однако вы можете использовать сценарий DDL в качестве отправной точки для проверки существования всех артефактов в базе данных. Чтобы получить этот скрипт, используйте
string ddlScript = ((IObjectContextAdapter)myContext).ObjectContext.CreateDatabaseScript();
Некоторые инструменты могут использовать этот сценарий для сравнения схемы с вашей базой данных. Это скажет вам, совместима ли ваша модель.
Пробовали ли вы использовать Entity Framework Power Tools.
вы можете использовать инструменты для обратного проектирования Code First — генерирует классы POCO, производные DbContext и сопоставление Code First для существующей базы данных.
И тогда, может быть, вы сможете сравнить информацию, полученную путем обратного проектирования, с тем, что у вас уже есть.