实体框架:更改表的更新(关键更改)

bug*_*ixr 3 c# entity-framework .net-3.5

我有一个非常大的数据库连接到我的实体框架.我有一组特定的表,其中从设计中删除了一个公共密钥(fk).当我"从数据库更新模型"时,我得到了一系列关于这个现在缺失密钥的错误.

为什么更新过程没有准确检测到此密钥已被删除?此外,如果我从模型中手动删除属性,我最终会遇到其他错误.我还尝试简单地删除表并重新添加它,但现在该表未显示在更新向导的"添加"部分中.

因此,如果没有删除整个事情并重新开始,有没有办法优雅地恢复?EF团队是否已发布此向导的任何较新版本,其中已修复了其中的一些问题?

Luk*_*asz 5

实体框架确实时不清楚.你需要做的是从模型中删除实体表,然后将SQL Server中的表重命名为TableName_Temp,刷新模型,现在实体表应该没问题,所以删除实体表再次将其重命名为原始名称,再次刷新模型.这一次一切都应该没问题.

我知道这是一个混乱的程序,但这是我找到解决这个问题的唯一方法,而不是吹走整个edmx并从头开始.目前在我的组织中,我们有一项政策,除非绝对必要,否则不要对EDMX进行更改,以便我们可以在需要时删除并重新创建,而不会出现任何问题.

希望这可以帮助!