Обновление Nhibernate 4

Я пытаюсь обновить существующую версию веб-приложения NHibernate до версии 4. У меня возникают проблемы с FetchMany, подобные этому вопросу

Мой класс DAO, где выдается ошибка:

        var results = CurrentSession.Query<Vehicles>().Where(v => v.Id == vehicleId);

        results.FetchMany(r => r.Vans).ToList();

        results.FetchMany(r => r.Cars)
            .ThenFetch(c => c.Manufacturer)
            .ThenFetch(c => c.Country).ToList();

        results.FetchMany(r => r.Cars) // Error Gets thrown on this line with cannot fetch multiple bags
            .ThenFetch(c => c.Manufacturer)
            .ThenFetch(c => c.Model).ToList();

 //rest of query removed for brevity

public class Vehicles
{
        private IList<Car> _cars = new List<Car>();
        private IList<Van> _vans = new List<Van>();

        public virtual IEnumerable<Truck> Cars { get { return _cars; } }
        public virtual IEnumerable<Van> Vans { get { return _vans.Where(x => x.FuelLevel > 0).OrderBy(x => x.FuelLevel); } }
}

Отображение hbm xml файла

<bag name="Cars" cascade="all-delete-orphan" access="field.camelcase-underscore" inverse="true">
  <key column="CarId" />
  <one-to-many class="Car" />
</bag>

<bag name="Vans" cascade="all-delete-orphan" access="field.camelcase-underscore" inverse="true">
  <key column="VanId" />
  <one-to-many class="Van" />
</bag>

Как правильно переписать запрос в моем классе DAO, чтобы набор результатов был возвращен правильно? Нужно ли что-то обновлять в файле отображения nhibernare?

0 ответов

Другие вопросы по тегам