Допустим, у меня есть существующая база данных со следующими 3 таблицами:
Table1:
(PK) T1ID1
(PK) T1ID2
Table2:
(PK) T2ID1
Table3:
(FK) T1ID1
(FK) T1ID2
(FK) T2ID1 (где три ключа взяты из таблиц выше)
Мой вопрос: как мне сопоставить Table3 с Fluent NHibernate?
Что меня смущает, так это то, что нужно делать с тем фактом, что его составные ключи происходят из 2 разных таблиц.
У меня есть следующее для сопоставлений для таблиц 1 и 2:
public class Table1
{
public virtual long T1ID1 { get; set; }
public virtual long T1ID2 { get; set; }
}
public class Table2
{
public virtual long T2ID1 { get; set; }
}
public class Table1Map
{
public Table1Map()
{
Table("Table1");
CompositeId()
.KeyProperty(x => x.T1ID1, "T1ID1")
.KeyProperty(x => x.T1ID2, "T1ID2");
}
}
public class Table2Map
{
public Table2Map()
{
Table("Table2");
Id(x => x.T2ID1, "T2ID1");
}
}