如何拒绝来自某些表的数据库的 EF 更新模型



有没有办法告诉EF在执行Update Model From Database时不要更新单个表的SSDL?

更多细节:
我们将 EF 4.3 与数据库优先方法一起使用(因此,EDMX 和从数据库更新模型)。

我们有一个表,由于某些原因,它在 SQL Server 中没有设置主键,但有一个自动递增的Identity列,我们可以告诉 EF 将其用作主键。

由于 EF 在表本身中找不到任何主键,因此它会在 SSDL 中为该表生成定义查询(并防止更新/插入)。

我可以轻松删除该定义查询(并修改其他实体集属性),一切正常。

除非我再做一次Update Model From Database,定义查询又回来了。

有没有办法告诉 EF 不要更新该单个表的 SSDL?

有没有办法告诉EF在以下情况下不要更新单个表的SSDL 正在从数据库更新模型?

不使用 Visual Studio 中提供的默认设计器。修改 EDMX 文件的 SSDL 部分后,您应该手动维护它或编写一个脚本,每次运行"从数据库更新"时都会修复它。

或者,您可以购买更强大的设计器或Visual Studio扩展,这将为您提供选择性更新。

无论如何,你应该避免你想做的事情。如果数据库归ERP所有,您应该仅通过ERP编程API进行访问(真正的ERP有一些)。否则,您可能会破坏ERP的功能,损坏ERP数据,导致性能问题甚至导致死锁。

相关内容

  • 没有找到相关文章

最新更新