Итак, у меня проблема с отображением в беглом nhibernate. Я хочу использовать сопоставление соединений, чтобы сгладить промежуточную таблицу: Вот моя структура:
[Vehicle]
VehicleId
...
[DTVehicleValueRange]
VehicleId
DTVehicleValueRangeId
AverageValue
...
[DTValueRange]
DTVehicleValueRangeId
RangeMin
RangeMax
RangeValue
Обратите внимание, что у DTValueRange нет идентификатора VehicleID. Я хочу добавить DTVehicleValueRange в свой класс Vehicle. Tgis отлично работает для AverageValue, поскольку это просто обычное значение, но я не могу заставить коллекцию ValueRange правильно отобразить.
public VehicleMap()
{
Id(x => x.Id, "VehicleId");
Join("DTVehicleValueRange", x =>
{
x.Optional();
x.KeyColumn("VehicleId");
x.Map(y => y.AverageValue).ReadOnly();
x.HasMany(y => y.ValueRanges).KeyColumn("DTVehicleValueRangeId"); // This Guy
});
}
Кажется, что отображение HasMany ничего не делает, если оно находится внутри Join. Если он находится вне соединения, и я указываю таблицу, он сопоставляется, но nhibernate пытается использовать VehicleID, а не DTVehicleValueRangeId.
Что я делаю не так?