簡體   English   中英

Entity Framework Core:完整性檢查數據庫和 model 是否同步

[英]Entity Framework Core: sanity-check if database and model are in sync

我們目前處於多個系統使用一個巨大數據庫的設置中。 在我們最新的系統中,我們使用 Entity Framework Core 和代碼優先的方法。 不幸的是,其他系統對數據庫所做的一些更改在代碼優先系統中沒有更新。 由於我們沒有完整的集成測試覆蓋,這些更改有時會在有人偶然使用更改的實體之前未通知 go。

我們不能只是以 swift 方式更改設置; 因此,如果數據庫和模型同步,我們希望進行一些自動的健全性檢查。 在尋找這樣的解決方案時,我發現了這段代碼: Does an equivalent to Database.CompatibleWithModel(bool) exist in EF Core

但是明確指出不應使用此代碼(無論如何它不再起作用)。 我在這里找到了 Brice 的更多想法: 驗證 EF Core ModelSnapshot、遷移和實際數據庫架構是否一致 但這些方法大多是手動的,分別不容易從代碼中直接使用。

是否已經有解決方案,允許直接從 C# 檢查映射和實際數據庫之間的同步? 檢查 Entity Framework Core 接口,我認為我們將獲得所有需要的信息,但是以通用方式對此檢查進行編程似乎是一項艱巨的任務?

不幸的是,如果在 EF 中引用的數據庫中缺少架構的一部分,EF 只會檢測並拋出異常。 至於從另一個系統添加的字段或表,這將被忽略。

您可以考慮生成架構更改報告,每次發生更改時都可以通過電子郵件將其發送給您的團隊:

在 SQL 中發送有關數據庫架構更改的 Email 警報

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM