流暢なマッピング API でエンティティ フレームワーク コードの最初の 5 を使用しています。3列の「ENTITY」という名前のジョイントテーブルがあります
ENTITY1_ID int
ENTITY2_ID int
LEVEL int
関連モデルあり
public class ENTITY
{
public virtual ENTITY1 ENTITY1 {get; set;}
public virtual ENTITY2 ENTITY2 {get; set;}
public virtual int LEVEL {get; set;}
}
ここで、ENTITY1_ID と ENTITY2_ID は 2 つのテーブルに対する外部キーです。マッピング コードでは、関連付けられたプロパティをエンティティ クラスに追加する必要なく、外部キーを宣言することに成功しました。
this.HasRequired(t => t.ENTITY1).WithMany().Map(m => m.MapKey("ENTITY1_ID"));
this.HasRequired(t => t.ENTITY2).WithMany().Map(m => m.MapKey("ENTITY2_ID"));
したがって、列名のみを使用して主キーを設定する必要があります。次のようなものを使用します。
this.HasKey(new {"ENTITY1_ID", "ENTITY2_ID"});
モデルが永続性関連のプロパティ (ids ..) で汚染されるのを避けるために、これを行いたいと考えています。Entity Framework 5でそれを行うことは可能ですか?