可以继承复杂类型吗?

时间:2016-10-03 06:43:41

标签: c# entity-framework

我有表格列表的联系人:

  • LinkType(1表示与卡的链接,2表示与公司的链接)
  • FirmId(可以为空)
  • CardId(可以为空)

因此,联系人可以与卡或与公司(不是两者)联系。联系人可以更改链接(从卡到公司,反之亦然)。 我想把它映射到这样的类:

class Contact
{
    public string Value {get;set;}
    public Link ContactLink {get;set;}
}

class ContactLink
{

}

class CardLink : ContactLink
{
    public long CardId {get;set;}
}

class FirmLink : ContactLink
{
    public long FirmId {get;set;}
}

ContactLink不是实体(没有表格)。

只有一个表Contact

我可以将所有这些类映射到一个表吗? 是否可以使用继承映射这些复杂类型?我该怎么做?

其他信息:

当我创建两个类FirmContactCardContact时,我使用discriminator列映射它们。但我无法将代码对象类型从FirmContact更改为CardContact以保存它。

0 个答案:

没有答案