'discriminator'列在代码优先实体框架中是可以避免的

本文关键字:框架 可以避免 实体 discriminator 代码 | 更新日期: 2023-09-27 18:17:02

如果我从模型类继承我的业务类(模型类映射到数据库表上),我如何避免在数据库中创建一个列作为"Discriminator"。

因为,此刻,如果我将我的业务类(例如specific)继承到一个现有的模型类(例如datspecific),它会要求代码优先迁移。在迁移中,我可以将discriminator视为新列。我真的不想这样。因为,原来的模型类是在整个应用程序中使用的,而且代码工作得很好。

如何停止创建" discriminator "列

c#代码:

模型类

public class DataSpecific
{
}
<<p> 商业类/strong>
public class Specific
{
}
因此,我可以在迁移 中看到以下代码
 AddColumn("dbo.Consignments", "Discriminator", c => c.String(nullable: false, maxLength: 128));

我怎样才能避免这种情况?

'discriminator'列在代码优先实体框架中是可以避免的

NotMapped数据注释应用于您的业务类:

[NotMapped]
public class Specific : DataSpecific
{
}

或使用Ignore Fluent API:

modelBuilder.Ignore<Specific>();