當數據庫不是由EF代碼首先創建時,是否有方法檢查DbContext是否與數據庫匹配?根據現有數據庫驗證EF代碼第一個模型
我在尋找類似的功能Database.CompatibleWithModel,但沒有元數據。
當數據庫不是由EF代碼首先創建時,是否有方法檢查DbContext是否與數據庫匹配?根據現有數據庫驗證EF代碼第一個模型
我在尋找類似的功能Database.CompatibleWithModel,但沒有元數據。
EF目前沒有辦法做到這一點;但是,您可以使用DDL腳本作爲驗證數據庫中是否存在所有工件的起點。要獲得此腳本,請使用
string ddlScript = ((IObjectContextAdapter)myContext).ObjectContext.CreateDatabaseScript();
某些工具可能能夠使用此腳本對數據庫執行模式比較。這會告訴你,如果你的模型是兼容的。
您是否嘗試過使用Entity Framework Power Tools。
您可以使用這些工具來反向工程代碼第一次 - 生成POCO 類,衍生爲現有 數據庫的DbContext和代碼首先映射。
然後,也許你可以將反向工程信息與你已有的信息進行比較。