Мой объект модели Reading
имеет Location
, но это не прямая связь в базе данных. В БД это отношение «имеет» или «ссылка» охватывает 3 таблицы, как показано в следующем фрагменте:
Мои Reading
отображаются в таблицу ComponentReading, и я хочу, чтобы мои Location
отображались в таблицу Location. Мой класс ClassMap<Reading>
пока выглядит так:
public class ReadingMap : ClassMap<Reading>
{
public ReadingMap()
{
Table("ComponentReading");
Id(x => x.ID).Column("ComponentReadingId");
//References(x => x.Location).Formula(
Join("VehicleReading", vr =>
{
Join("TrainReading", tr =>
{
tr.References(x => x.Location, "LocationId");
});
});
Map(x => x.TemperatureValue).Column("Temperature");
}
}
А вот мое простое отображение Location
:
public class LocationMap : ClassMap<Location>
{
public LocationMap()
{
Id(x => x.ID).Column("LocationId");
Map(x => x.Name);
}
}
Метод с комментариями References(
показывает, чего я хочу достичь с помощью отношений между Reading
и Location
, но, очевидно, я не могу выразить это в FNH так просто, как предлагает строка комментария.
Я не думаю, что код Join(
даже почти верен, но он также пытается передать отношения, к которым я стремлюсь.
Надеюсь, кто-нибудь увидит, что я пытаюсь сделать здесь. Вы можете мне помочь?
Этот вопрос связан.