Sql NHibernate QueryOver使用同一查询查询数据库三次
我今天遇到了一个奇怪的问题。我很确定这有一个解释和解决办法。现在我们开始:我已将一个查询与问题隔离开来,代码如下所示:Sql NHibernate QueryOver使用同一查询查询数据库三次,sql,nhibernate,fluent-nhibernate,nhibernate-mapping,Sql,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,我今天遇到了一个奇怪的问题。我很确定这有一个解释和解决办法。现在我们开始:我已将一个查询与问题隔离开来,代码如下所示: _session = _sessionFactory.OpenSession(); ITransaction _transaction = _session.BeginTransaction(); var result = _session.QueryOver<Employee>() .Where(x => x.uid == employeeuid)
_session = _sessionFactory.OpenSession();
ITransaction _transaction = _session.BeginTransaction();
var result = _session.QueryOver<Employee>()
.Where(x => x.uid == employeeuid)
.SingleOrDefault();
_transaction.Commit();
\u session=\u sessionFactory.OpenSession();
ITransaction_transaction=_session.BeginTransaction();
var result=\u session.QueryOver()
.其中(x=>x.uid==employeeuid)
.SingleOrDefault();
_Commit();
Employee对象有一些引用等,但我认为现在这并不重要。UID是一个字符串。基本上,log4net告诉我同一个查询执行了三次:
SELECT <some columns...> FROM employer this_ WHERE this_.uid = <uid-string>
从雇主中选择此项,其中此.uid=
正如你所看到的。。。一个简单的问题。有人能给我一个如何消除查询开销的提示吗
问候,,
Martin首先,我要通过查看数据库本身上正在查询的内容来支持这一点。要了解数据库实际执行的操作,请执行以下操作之一:-
就我个人而言,我对log4Net输出的大量日志信息有点怀疑。Lol,我没有想到这种可能性:-)事实上,日志被多次写入。谢谢