C# 作为条件使用时,如何更改鉴别器(_盘__)字段

C# 作为条件使用时,如何更改鉴别器(_盘__)字段,c#,entity-framework,entity-framework-4,discriminator,C#,Entity Framework,Entity Framework 4,Discriminator,我必须更新和更改表的鉴别器(\u Disc)字段,而映射实体没有将其作为实体成员。任何解决方案?鉴别器列用于定义TPH继承中的实体类型,EF无法更改它-从不。这就像任何面向对象语言中的继承——一旦定义了某种类型的对象,就不能使其成为不同的类型——只能将其强制转换为父对象,但它仍然是原始类型的实例。将其更改为其他类型的唯一方法是创建新类型的新实例,并以某种方式将值从第一个对象复制到新对象 因此,如果您需要更改鉴别器,则必须使用旧的ADO.NET和SQL在没有EF=的情况下进行更改,但如果您的更改不

我必须更新和更改表的鉴别器(\u Disc)字段,而映射实体没有将其作为实体成员。任何解决方案?

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


因此,如果您需要更改鉴别器,则必须使用旧的ADO.NET和SQL在没有EF=的情况下进行更改,但如果您的更改不会遵循实体模型中的其他规则,则会破坏EF功能,应用程序将无法工作

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

因此,如果您需要更改鉴别器,则必须使用旧的ADO.NET和SQL在没有EF=的情况下进行更改,但如果您的更改不会遵循实体模型中的其他规则,则会破坏EF功能,应用程序将无法工作