【发布时间】:2011-01-03 06:17:36
【问题描述】:
使用 linq to NHibernate (NHibernate v3) 我有以下 LINQ 查询:
var session = this.GetSession();
var rgn = this.Get(regionId);
var query = from t in session.Query<Tag>()
where
!(
from trn in session.Query<Translation>()
where trn.Region.Id == regionId
select trn.Tag.Id
)
.Contains(t.Id)
select new Translation() {Id = t.Id, Tag = t, Region = rgn, TagTranslation=""};
var count = query.Count();
var untranslatedTags = query.Skip((page - 1)*pageSize).Take(pageSize);
var countAfterSkipAndTake = untranslatedTags.Count();
return untranslatedTags.ToList();
}
count 变量确实返回了预期值。但是 countAfterSkipAndTake 返回相同的值。我本来希望它返回 pageSize(在本例中为 15)。最后一行 untranslatedTags.ToList() 返回异常。我相信 LINQ to NHibernate 没有完全实现,在我尝试下载主干之前,任何人都可以看到我做错了什么。
【问题讨论】:
标签: nhibernate linq-to-nhibernate