今天我遇到了NHibernate的一个奇怪问题。我很确定有一个解释和解决方案。所以我们在这里:我已经用问题隔离了一个查询,代码如下:
_session = _sessionFactory.OpenSession();
ITransaction _transaction = _session.BeginTransaction();
var result = _session.QueryOver<Employee>()
.Where(x => x.uid == employeeuid)
.SingleOrDefault();
_transaction.Commit();
Employee对象有一些引用等,但我认为这不重要。 UID是一个字符串。基本上发生的是log4net告诉我相同的查询被执行三次:
SELECT <some columns...> FROM employer this_ WHERE this_.uid = <uid-string>
正如你所看到的...一个简单的查询。任何人都可以给我一个如何摆脱查询开销的提示吗?
此致 马丁
答案 0 :(得分:1)
我首先要看看数据库本身正在查询的内容。要找出数据库实际执行的操作: -
就个人而言,我对log4Net发布的日志信息量有点怀疑。