如何在NHibernate QueryOver中推迟查询执行

时间:2016-08-11 16:15:50

标签: c#-4.0 queryover

我正在尝试执行3个查询,但希望在一次数据库调用时执行所有操作。我经历了https://ayende.com/blog/3979/nhibernate-futures,但它仍然单独执行每个查询。我使用的是QueryOver而不是CreateCriteria。

任何人都可以帮忙实现这个目标吗?

我的查询就像

            var changedScriptsInHeader = _session.QueryOver<ProgramHeader>()
                                    .Where(x => x.ModifiedTime.IsBetween(changedFrom).And(changedTo))
                                    .Select(x => x.ScriptNumber)
                                    .Future<string>();

            var changedScriptsInDetail = _session.QueryOver<ProgramDetail>()
                                    .Where(x => x.UpdatedDate.IsBetween(changedFrom).And(changedTo))
                                    .SelectList(list => list.SelectGroup(pr => pr.ScriptNumber))
                                    .Future<string>();

            var changedScriptsInReplay = _session.QueryOver<ProgramReplay>()
                                    .Where(x => x.UpdatedDate.IsBetween(changedFrom).And(changedTo))
                                    .SelectList(list => list.SelectGroup(pr => pr.ScriptNumber))
                                    .Future<string>();

由于

0 个答案:

没有答案