我这样做是为了在同一个表上基于带有鉴别器过滤器的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”。
你有什么想法吗?
答案 0 :(得分:0)
您无法将任何列映射两次。您必须为第二个关系使用另一个列,或者必须仅使用基类中定义的单个关系。