我知道我可以使用这些技术获得 nHibernate 的全局统计信息
http://nhibernate.info/blog/2008/10/26/exploring-nhibernate-statistics-part-1-simple-data-fetching.html
我所追求的是一种在当前线程中获取当前 session 统计信息的方法。
EG,我想知道在我的 session 中加载了多少实体,进行了多少数据库查询等。
我看到 hibernate 犀牛可以分解每个 session 的统计数据,所以 NH 必须以某种形式存储它?
戴夫
最佳答案
而不是使用 ISessionFactory.Statistics
, 只需使用 ISession.Statistics
.
class Program
{
static void Main(string[] args)
{
ISession session = NHibernateHelper.GetSession();
var stats = session.Statistics;
Console.WriteLine("Entity count: {0}", stats.EntityCount);
Console.WriteLine("Collection count: {0}", stats.CollectionCount);
Console.ReadLine();
}
}
但是,与 session 工厂级别相比, session 级别的统计数据是有限的。
关于每个 session 的 nHibernate 统计信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23525341/