gpt4 book ai didi

c# - 为什么在将列添加到数据库后我的 Entity Framework 上下文没有更新?

转载 作者:太空宇宙 更新时间:2023-11-03 22:39:54 26 4
gpt4 key购买 nike

基本上,我为 EF 测试制作了一个简单的应用程序。我添加了 DataModel,然后像 MSDB 教程所说的那样创建了数据源对象。

DataBinding 工作正常,但是当我从 sql 表中添加或删除列时出现问题(例如,在 SSMS ALTER TABLE xxx ADD yyy varchar(50) 中)。

是否可以在没有我的情况下更新/刷新数据模型?我的意思是,我不想运行 IDE 并单击“从数据库更新模型”,因为用户会大量添加新列。 Entity Framework 是否适合这个想法?

最佳答案

它不会,因为它没有意义并且在技术上是不可能的。它是如何工作的?此更新应该在什么时候发生?数据库是否应该与您的上下文和数据模型建立永久连接并在架构更改时更新它?如果你有数千个连接,会发生什么?另外,您真的希望数据库架构的更改会更改您的 C# 代码吗?数据库可以更改编译后的代码 (dll) 还是只更改源代码?

而且,除了这些技术问题之外,您的数据库模型不是您的域模型。通常它们是相关的,但情况并非总是如此。我有几个应用程序,其中 C# 代码的对象少于数据库的表,并且这些对象不需要数据库中的所有列。

所以,不,这将是完全不可用或完全错误的。

关于c# - 为什么在将列添加到数据库后我的 Entity Framework 上下文没有更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52831737/

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