针对现有数据库验证EF Code第一模型

时间:2012-01-17 16:35:37

标签: ef-code-first

当首先不是由EF代码创建数据库时,有没有办法检查DbContext是否与数据库匹配?

我正在寻找与Database.CompatibleWithModel类似的功能,但没有元数据。

2 个答案:

答案 0 :(得分:7)

EF目前无法做到这一点;但是,您可以使用DDL脚本作为验证数据库中是否存在所有工件的起点。要获取此脚本,请使用

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

某些工具可能能够使用此脚本对数据库进行架构比较。这将告诉您模型是否兼容。

答案 1 :(得分:1)

您是否尝试过使用Entity Framework Power Tools

  

您可以使用这些工具来反向工程代码优先 - 生成POCO   类,派生的DbContext和现有的Code First映射   数据库中。

然后,也许您可​​以将反向设计的信息与您已有的信息进行比较。