NHibernate 中的 QueryOver
QueryOver in NHibernate
当涉及到 NHibernate 中的 QueryOver 时,我迷路了,我正在尝试查询数据库并检索重要的 4 个值,其余的是不必要的并占用处理能力。
我正在尝试这个:
var ext = _session.QueryOver<ExternServiceSettings>()
.Where(x => x.ExternService == ExternServiceEnum.Outlook).List();
工作正常但花费的时间太长并且 return 数据库中的所有内容。然后我试了:
var ext = _session.QueryOver<ExternServiceSettings>()
.Where(x => x.ExternService == ExternServiceEnum.Outlook)
.List<ExternServiceSettings>()
.Select(y => y.UserName);
然而这只是 return 用户名并且不会让我获取超过一个值...
感谢所有帮助!
我们应该使用.SelectList()
检查文档中的示例:
var selection =
session.QueryOver<Cat>()
.SelectList(list => list
.Select(c => c.Name)
.SelectAvg(c => c.Age))
.List<object[]>();
在此处查看更多内容:
16.7. Projections
当涉及到 NHibernate 中的 QueryOver 时,我迷路了,我正在尝试查询数据库并检索重要的 4 个值,其余的是不必要的并占用处理能力。
我正在尝试这个:
var ext = _session.QueryOver<ExternServiceSettings>()
.Where(x => x.ExternService == ExternServiceEnum.Outlook).List();
工作正常但花费的时间太长并且 return 数据库中的所有内容。然后我试了:
var ext = _session.QueryOver<ExternServiceSettings>()
.Where(x => x.ExternService == ExternServiceEnum.Outlook)
.List<ExternServiceSettings>()
.Select(y => y.UserName);
然而这只是 return 用户名并且不会让我获取超过一个值...
感谢所有帮助!
我们应该使用.SelectList()
检查文档中的示例:
var selection =
session.QueryOver<Cat>()
.SelectList(list => list
.Select(c => c.Name)
.SelectAvg(c => c.Age))
.List<object[]>();
在此处查看更多内容: