gpt4 book ai didi

LINQ TO Nhibernate 计数

转载 作者:行者123 更新时间:2023-12-02 08:59:50 24 4
gpt4 key购买 nike

我正在尝试使用 LINQ to Nhibernate 来获取数据库中表的计数。但是,我正在运行的代码是拉回表中的所有记录,而不是从表中运行 select count()。

这是我的代码-

public int GetTotalCount(Func<T, bool> where) {

IQueryable<T> queryable = this._sessionManager.GetCurrentSession().Linq<T>().Where(where).AsQueryable();
return queryable.Count();

}

我也试过-

    public int GetTotalCount(Func<T, bool> where)
{
IQueryable<T> queryable = this._sessionManager.GetCurrentSession().Linq<T>();
return queryable.Count(where);
}

两者都拉回整个数据集而不是运行计数。有什么想法吗?

此外,我正在使用 NHProf 对其进行概要分析,因此我可以查询它正在运行的内容,即

选择*从表

最佳答案

你的 where参数需要是 Expression<Func<T, bool>> ;否则,您会将所有内容加载到内存中并使用 LINQ-to-objects。

简而言之:

public int GetTotalCount(Expression<Func<T, bool>> where)
{
return _sessionManager
.GetCurrentSession()
.Linq<T>()
.Where(where);
.Count();
}

关于LINQ TO Nhibernate 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2158866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com