我有一个名为产品的实体:
public abstract class Product : Entity
{
public long ProductId { get; set; }
public long Price { get; set; }
public abstract string Name { get; }
}
我有一个名为玩具
的产品 class Toy : Product
{
public override string Name { get { return "Toy Product"; } }
public string Colour { get; set; }
}
如此有效,玩具是一种产品。 Product有自己的属性,但它也有一个名为“ Name ”的抽象属性。孩子知道自己的名字,所以它会覆盖它。
这对我来说似乎很好,但是当我运行Add-Migration(因为我使用的是EF Code-First)时, discriminator 字段丢失了。如果删除抽象字段,并使类非抽象,则出现鉴别器字段。
我可以创建父类摘要吗?
谢谢!
答案 0 :(得分:3)
它删除了鉴别器,因为当你只有一个实体继承时不需要它,因为你无法实例化一个抽象类。
如果你添加了另一个继承的实体,比如Bear:
public class Bear : Product
{
public override string Name { get { return "Bear Product"; } }
public string Fur { get; set; }
}
你的鉴别者专栏将会回来: