nhibernate lazyload creates new isession
我可以在延迟加载时阻止 nhibernate 创建新的 ISession 吗?怎么样?
更正:我的意思是新的 IDbConnections。我已经实现了自己的 DriverConnectionProvider,我看到它由于延迟加载而被调用
NHibernate 不会主动创建任何
如果您使用 NHibernate 作为连接管理器和 sql 生成器。 IE。你有很多类似下面的代码:
1 2 3 4 5 6 7 | public IList<Entity> GetEntities() { using (ISession session = CreateNewSession()) { return session.List<Entity>(); } } |
那么你不能使用延迟加载。所以你需要禁用延迟加载。这可以通过在 hibernate-mapping 标记上指定
http://nhibernate.info/doc/nh/en/index.html#mapping-declaration-mapping
我可能会推荐使用 IStatelessSession 而不是默认的 ISession。请记住,这不是 NHibernate 的推荐用法。