В моей базе данных у меня есть две таблицы, одна логически ссылается на другую, но без определения внешнего ключа (я не могу управлять базой данных, поэтому приходится с этим мириться).Например:
Table1 (
Table1Id int,
Column1 int,
Column2 int
)
Table2 (
Table2Id int,
Column1FromTable1 int,
Column2FromTable1 int
)
Предположим, есть гарантия, что пара (Column1, Column2)
уникальна для Table1
.
. В коде я хочу определить отображение HasMany
для Table1
,вот так:
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, как связать объекты кода, которые не связаны в базе данных?Проблема также в сложном ключе, который я должен использовать здесь.
Опять же, я не могу изменить базу данных в этом случае, что в противном случае было бы моим естественным выбором.