Преобразовывает + Объединения в QueryOver - PullRequest
1 голос
/ 27 мая 2011

Я не совсем понимаю это правильно, но я немного растерялся, потому что он вообще не выполняет соединение:

ActualBookingOccupancy abo2Alias = null;
AccommodationUnit auAlias = null;

List<ActualBookingOccupancy> sectorList = (List<ActualBookingOccupancy>)Session.QueryOver<ActualBooking>()
.JoinAlias(x => x.AccommodationUnit, () => auAlias)
.Where(x => (x.AccommodationUnit.AccommodationUnitID != id)
    && (x.YearMonth >= start && x.YearMonth < end)
    && auAlias.Rating == au.Rating)
.SelectList(x => x
   .SelectGroup(xx => xx.YearMonth).WithAlias(() => abo2Alias.YearMonth)
   .SelectSum(xx => xx.RoomOccupancy).WithAlias(() => abo2Alias.ProviderOccupancy))
.TransformUsing(Transformers.AliasToBean<ActualBookingOccupancy>())
.List<ActualBookingOccupancy>();

Я просто пытаюсь присоединиться ActualBooking к AccommodationUnit, но основной запрос с использованием профилировщика SQL показывает, что он даже не пытается выполнить это соединение, а вместо этого использует псевдоним, который не разрешен. Мое отображение выглядит правильным, однако:

CompositeId()
   .KeyProperty(x => x.YearMonth)
   .KeyProperty(x => x.RoomType)
   .KeyReference(x => x.AccommodationUnit, "AccommodationUnitID");

Возможно, это связано с тем, что я использую составной ключ, а на самом деле это может быть ошибка в FluentNHibernate?

...