我怎么能改变Discriminator (__Disc__)字段,而它被用作条件

本文关键字:条件 字段 能改变 Discriminator Disc | 更新日期: 2023-09-27 18:18:57

我必须更新和更改表的Discriminator(_Disc_)字段,而映射的实体没有将其作为实体成员。有解决方案吗?

我怎么能改变Discriminator (__Disc__)字段,而它被用作条件

Discriminator列用于定义TPH继承中的实体类型,EF不能更改它-永远不会。这就像任何面向对象语言中的继承一样——一旦你定义了某种类型的对象,你就不能改变它的类型——你只能将它强制转换为parent,但它仍然是原始类型的实例。将其更改为不同类型的唯一方法是创建新类型的新实例,并以某种方式将值从第一个对象复制到新对象。

因此,如果您需要更改鉴别符,则必须使用旧的ADO,而不使用EF =。但是如果你的改变不遵循实体模型中的其他规则,你将破坏EF功能,你的应用程序将无法工作。