



























我碰到、想到和回答过的NHibernate里的不能单独成文的小知识点,持续更新。
Q:不设置Cache时NHibernate会使用二级缓存吗
A:会,它会使用NHibernate.Cache.HashtableCacheProvider
Q:配置文件中use_outer_join和max_fetch_depth有什么作用
A:当使用关联影射时,如果未设置延迟加载,如果use_outer_join为true,则NHibernate用带join的Sql同时读取对象;为false,则分两条Sql读取。
max_fetch_depth表示最多join几个对象。
Q:查询时如何分页
A:使用ICriteria时
ISession session=factory.OpenSession();
ICriteria criteria=session.CreateCriteria(typeof(News));
criteria.SetFirstResult(fromResult);
criteria.SetMaxResults(count);
return criteria.List();
使用IQuery时
IQuery query = Session.CreateQuery(hql);
query.SetFirstResult(fromResult);
query.SetMaxResults(count);
return query.List();
SetFirstResult设置从那天记录开始,SetMaxResults设置取几条数据
Q:Sql2005有dialect吗
A:有,NHibernate论坛可以找到,单独的文件,以后版本可能会加入NHibernate内部。
MsSql2005Dialect.
Q:Access有dialect吗
A:NHibernateContrib里面有NHibernate.JetDriver.JetDialect
Q:Guid的unsaved-value怎么设置
A:unsaved-value="00000000-0000-0000-0000-000000000000"
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。