Fluent NHibernate картографира съставен идентификатор от наследени съставни идентификатори

Да кажем, че имам съществуваща база данни със следните 3 таблици:

Таблица 1:
(PK)T1ID1
(PK)T1ID2

Таблица 2:
(PK)T2ID1

Таблица3:
(FK)T1ID1
(FK)T1ID2
(FK)T2ID1 (Където 3-те ключа идват от таблиците по-горе)

Моят въпрос е: Как да картографирам 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");
    }
}

comment
Изпитвам известна болка, просто се опитвам да картографирам m:n с двете таблици съставен pk. изглежда дори не е толкова добър като вашия случай. Има ли късмет?   -  person Sky Sanders    schedule 02.02.2010


Отговори (1)


опитайте да разгледате Fluent NHibernate и съставен идентификатор с име на една колона Мисля, че това, което търсите, е свойството ".KeyReference()". Връзката по-горе използва стара версия на FNH, но всичко, което трябва да ви притеснява, по отношение на вашия проблем е, че имената на методите са малко по-различни. цялата останала част от тази статия трябва да ви помогне.

Кажи ми как си.

person cdmdotnet    schedule 01.03.2010