0
我有旧代码支持。 NHibernate用于查询数据库。有像IQueryOver.Where
等NHibernate LINQ查询。它工作正常,但我想使用这些查询本地序列。在Microsoft LINQ中有方法Enumerable.AsQueryable
。 NHibernate LINQ中有没有类似的东西?NHibernate AsQueryable 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 <包>
,而不是收集从数据库得到。
如果我记得,IQueryOver公开了一个NHibernate-'IQueryable'结构。所以这两者已经有点类似了。也就是说,对于大多数项目,您可能更适合通过linq-to-sql直接切换到实体框架。 –
@DavidL,[tag:queryover]只使用与Linq共同使用的lambda,但没有别的。它们是不兼容的API。有关更多详细信息,请参阅下面的答案。 –