假设我有一个Tweet
类和LongTweet
继承自Tweet
的类。在 EF 中,它们将建模为一个表,其中我将有一个Discriminator
列,其中将显示 Tweet
或 LongTweet
。
但是假设我想要,而不是Discriminator
列具有IsLongTweet
列,该列将是一个布尔值,如果LongTweet
是实例,则该值将为真,如果Tweet
是实例,则该布尔值将为假。我该怎么做?
如此处所述 使用 EF 代码优先进行继承
您应该尝试:
modelBuilder.Entity<Tweet>()
.Map<Tweet>(m => m.Requires("IsLongTweet").HasValue(false))
.Map<LongTweet>(m => m.Requires("IsLongTweet").HasValue(true));