0
私のデータベースでは、2つのテーブルがあり、1つは論理的に他を参照していますが、外部キーは定義されていません(データベースを制御できないため、例えば:Fluent Nhibernateでのカスタム参照マッピング
Table1 (
Table1Id int,
Column1 int,
Column2 int
)
Table2 (
Table2Id int,
Column1FromTable1 int,
Column2FromTable1 int
)
は(Column1, Column2)
ペアはTable1
に対して一意であることを保証があると。コードで
、私はこのように、Table1
ためHasMany
マッピングを定義したい:
public class Table1
{
public int Id
{
get;
set;
}
public IEnumerable<Table2> Table2s
{
get;
set;
}
}
public class Table2
{
public int Id
{
}
public Table1 Table1
{
get;
set;
}
}
public class Table1Map : ClassMap<Table1>
{
public Table1Map()
{
Id(x => x.Id).Column("Table1Id");
HasMany(x => x.Table2s); //What next?
}
}
私はそのために何をする必要がありますか?リファレンスを定義するために使用できる方法はどれですか?OneToManyPart
?
簡単な言葉で言えば、Fluent NHibernateでは、データベースに縛られていないコードエンティティをどうやって結びつけるのですか?問題は私がここで使用しなければならない複雑なキーにもあります。
この場合でもデータベースを変更することはできませんが、そうでなければ当然の選択です。
ありがとう!これは間違いなく正しいとはいえ、私は実際にマッピングをテストする前に、私は長い道のりがあるので、マッピングがうまくいくことが証明されたら、後で答えを受け入れることを忘れないでください。 –
さらにもう1つの質問:私はColumn1とColumn2をTable1クラス定義に追加する必要があります。回避する方法はありません。 –
あなたは – Variant