0

我这样做是为了基于 TPH 和鉴别器过滤器在同一个表上创建几个子类。

public class TraceBilletStation : Trace
{
    [UserVisible(Ordre = 6)]
    public BilletStation BilletStationnement { get; set; }
}

public class TraceBilletStationMap : EntityTypeConfiguration<TraceBilletStation>
{
    public TraceBilletStationMap()
    {
        this.HasOptional(p => p.BilletStationnement).WithMany()
            .Map(x => x.MapKey("TRA_CONCEPT_ID_INFO"));
    }
}

它适用于一个孩子,但我需要更多,所以我添加了这个:

public class TraceAcheteur : Trace
{
    [UserVisible(Ordre = 6)]
    public Acheteur Acheteur { get; set; }
}


public class TraceAcheteurMap : EntityTypeConfiguration<TraceAcheteur>
{
    public TraceAcheteurMap()
    {
        this.HasOptional(p => p.Acheteur).WithMany()
            .Map(x => x.MapKey("TRA_CONCEPT_ID_INFO"));
    }
}

并且我得到一个MetadataException说法,属性“TRA_CONCEPT_ID_INFO”已经被定义。

你有什么想法 ?

4

1 回答 1

0

您不能将任何列映射两次。您必须为第二个关系使用另一列,或者您必须只使用基类中定义的单个关系。

于 2012-05-16T09:11:33.413 回答