NHiberate计数查询

时间:2012-05-03 18:59:29

标签: c# .net sql nhibernate

在NHiberante,我有这个声明

 (from p in Session.Query<MyObject>() select p).Count(); 

这等于这个吗?

select count(*) from MyObject

假设对象名称与表名相同。

如果表数据很大,我们是否有办法提高性能?

感谢

1 个答案:

答案 0 :(得分:1)

你可以更好地使用:

(from p in Session.Query<MyObject>() select p).LongCount();

SQLite查询是:

select cast(count(*) as BIGINT) as col_0_0_ from MyObject myobject0_

您可以使用以下命令创建特定于DBMS的优化查询:

Session.CreateSQLQuery("sql query");

关于计数优化的问题:

optimize mysql count query