参见此示例
public class A {
public int Id {get;set}
public C MyC {get; set;}
[Foreign Key("MyC")]
public int MyCId {get;set;}
}
public class B : A {
}
public class C {
public int Id {get;set}
public ICollection<A> As{get;set;}
public ICollection<B> Bs{get;set;}
}
在服务器端我可以做
someC.Bs.ToList()
,它与
相同someC.As.OfType<B>().ToList()
然而,在客户端,实体someC将具有空B,因为外键在A上。由于Id在A上,因此也不可能在B上使用反向属性。
是否有任何方法可以在没有
的情况下在客户端填充B和As列表public class A {
public int Id {get;set}
public C A_C {get; set;}
[Foreign Key("A_C")]
public int A_CId {get;set;}
}
public class B : A {
public C B_C {get; set;}
[Foreign Key("B_C")]
public int B_CId {get;set;}
}
这种破坏了继承的目的。