每个会话的nHibernate统计信息

时间:2014-05-07 18:20:11

标签: nhibernate

我知道我可以使用这些技术获得nHibernate的全局统计信息

http://nhibernate.info/blog/2008/10/26/exploring-nhibernate-statistics-part-1-simple-data-fetching.html

我之后的目标是获取当前线程中当前会话的统计信息。

EG,我想知道在我的会话中加载了多少个实体,进行了多少个数据库查询等等。

我看到Hibernating Rhinos可以打破每个会话的统计数据,所以NH必须以某种形式存储它?

戴夫

1 个答案:

答案 0 :(得分:0)

不要使用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();
    }
}

与会话工厂级别相比,会话级别的统计数据有限。