有没有办法告诉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数据,导致性能问题甚至导致死锁。