NHibernate 和 Raw ADO.NET 使用
背景:我在具有开放会话视图模式的 ASP.NET MVC 应用程序中使用 Nhibernate,并且需要使用原始 ADO.NET 来执行一些性能关键的数据库操作。
我对如何获取连接实例感到有些困惑,因为我在许多博客文章中看到了两种不同的方法。
我想使用:
var connection = Session.Connection;
或者:
var connection = ((ISessionFactoryImplementor)sessionFactory).ConnectionProvider.GetConnection();
我似乎无法在任何地方找到结论性的答案,我希望具有丰富 NHibernate 经验的人可以在这里插话。
Background: I am using Nhibernate in an ASP.NET MVC application with an open-session-in-view pattern and I need to use raw ADO.NET to execute some performance-critical database operations.
I'm somewhat confused about how I should be getting my connection instance as I've seen two different methods in numerous blog posts.
Do I want to use:
var connection = Session.Connection;
Or:
var connection = ((ISessionFactoryImplementor)sessionFactory).ConnectionProvider.GetConnection();
I can't seem to find a conclusive answer anywhere and I'm hoping that someone with some extensive NHibernate experience can chime in here.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您已有会话,请使用其中的连接。
这还允许您通过在交易上登记您的命令来共享交易(如果交易已打开)。
If you already have a session, use the connection from it.
That will also allow you to share the transaction (if one is open) by enlisting your commands on it.
我正在使用以下内容(也使用底层已打开的交易)
i'm using something in the lines of (also uses the underlying already-open transaction)