だから私はObjectAと呼ばれるクラスを手に入れました。それは多くのObjectsBを持ち、オブジェクトはそれらを識別するためにIdを持っていますが、言語も持っています(列挙型ですが、実際にはINTとして保存され、この場合も関係ありません)。
public class ObjectA
{
public int Id {get;set;}
public Language Language {get;set;}
... // and a list of objectA properties
public virtual ICollection<ObjectB> ObjectBs {get;set;}
}
public class ObjectB
{
public int Id {get;set;}
public Language Language {get;set;}
... // and a list of objectB properties
public ObjectA TheObjectA {get;set;}
}
今、私はそれらを両方とも主キーとしてマッピングする方法を学びました。これには流暢なAPIを使用します。[Key]属性と[Column]属性(私は使用していません)も使用できることを知っています。
modelBuilder.Entity<ObjectA>().HasKey(a => new {a.Id, a.Languague})
modelBuilder.Entity<ObjectB>().HasKey(a => new {a.Id, a.Languague})
今は色んなことをやってみましたが、つなげられないようです。誰かが私がこれを修正する方法を知っていますか?