/ / NHibernate AsQueryable аналогов LINQ - c #, .net, linq, nhibernate, linq-to-sql

NHibernate AsQueryable аналогов LINQ - c #, .net, linq, nhibernate, linq-to-sql

Имам стар код за поддръжка. NHibernate се използва за търсене на DB. Има queries на NHibernate LINQ като IQueryOver.Where и други. Тя работи добре, но искам да използвам тези заявки за местни последователности. В Microsoft LINQ има методът Enumerable.AsQueryable, Има ли някакъв аналог в NHibernate LINQ?

Така че имам това.

    private IQueryOver<Package> GetPackages(GetPackageMessage message)
{
var query = SessionFactory.Current.QueryOver<Package>();

if (message.TzapUtc.Use)
{
query = query.Where(x => x.Tzap_utc >= message.TzapUtc.ValueBegin);

}
if (message.Iik.Use)
{
query = use ? query.Where(x => x.Iik == message.Iik.Value);
}
}

Трябва да се прилагат всички тези Къде да моята локална колекция IEnumerable <пакет>

вместо да се събира от DB.

Отговори:

1 за отговор № 1

* няма нищо общо с въпросите на Linq. Това не включва никакви въпроси. По този начин не можете да прилагате заявка на QueryOver върху заявка. QueryOver е силно написан вариант на , използвайки ламбда за постигане на силно типизиране.

Ако искате да използвате Linq с NHibernate, използвайте вместо.

using NHibernate.Linq;

...

var query = SessionFactory.Current.Query<Package>();

Тогава ще можете да замените вашите query с възможност за запитване, получена от събиране в паметта, като се използва Linq Enumerable.AsQueryable метод.

*: или , предстои гласуване на синоним.