gpt4 book ai didi

c# - Entity Framework 核心 : sanity-check if database and model are in sync

转载 作者:行者123 更新时间:2023-12-04 13:36:03 35 4
gpt4 key购买 nike

我们目前处于一种设置,其中多个系统使用一个巨大的数据库。在我们最新的系统中,我们使用 Entity Framework Core 和代码优先的方法。
不幸的是,其他系统对数据库所做的某些更改并未在代码优先系统中更新。由于我们没有完整的集成测试覆盖范围,这些更改有时不会被通知,直到有人偶然使用更改的实体。

我们不能只是快速地改变设置;因此,如果数据库和模型同步,我们希望进行一些自动化的完整性检查。寻找这样的解决方案,我发现了这段很好的代码:Does an equivalent to Database.CompatibleWithModel(bool) exist in EF Core

但是明确指出不应使用此代码(无论如何它不再起作用)。我在这里找到了来自 Brice 的更多想法: Validate that EF Core ModelSnapshot, migrations, and actual database schema are consistent with each other 。但这些方法大多是手动的,分别不容易从代码中直接使用。

是否已经有一个解决方案,它允许直接从 C# 检查映射和实际数据库之间的同步?检查 Entity Framework Core 接口(interface),我认为我们将获得所有需要的信息,但是以通用方式编写此检查程序似乎是一项艰巨的任务?

最佳答案

不幸的是,如果 EF 中引用的数据库中缺少架构的一部分,EF 只会检测并抛出异常。至于从另一个系统添加的字段或表,这将被忽略。

您可以考虑生成一个架构更改报告,每次发生更改时都可以通过电子邮件发送给您的团队:

Send Email Alert on Database Schema Change in SQL

关于c# - Entity Framework 核心 : sanity-check if database and model are in sync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62036620/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com