asp.net-mvc – 在ASP.NET MVC中的NHibernate会话管理
发布时间:2020-05-27 18:45:58 所属栏目:asp.Net 来源:互联网
导读:我目前正在玩的HybridSessionBuilder类发现在Jeffrey Palermo的博客文章: http://jeffreypalermo.com/blog/use-this-nhibernate-wrapper-to-keep-your-repository-classes-simple/ 使用这个类,我的存储库看起来像这样: public class UserRepository :
|
我目前正在玩的HybridSessionBuilder类发现在Jeffrey Palermo的博客文章: http://jeffreypalermo.com/blog/use-this-nhibernate-wrapper-to-keep-your-repository-classes-simple/ 使用这个类,我的存储库看起来像这样: public class UserRepository : IUserRepository
{
private readonly ISessionBuilder _sessionBuilder;
public UserRepository(ISessionBuilder sessionBuilder)
{
_sessionBuilder = sessionBuilder;
}
public User GetByID(string userID)
{
using (ISession session = _sessionBuilder.GetSession())
{
return session.Get<User>(userID);
}
}
}
这是管理NHibernate会话/工厂的最好方法吗?我听说过关于工作单元的事情,并为每个Web请求创建一个会话,并在最后刷新它。从我可以告诉,我目前的实现不是做任何这些。它基本上依赖于Repository从会话工厂获取会话,并使用它来运行查询。 这样做数据库访问有任何陷阱吗? 解决方法你不应该将你的ISession包装在using语句中 – 将ISessionBuilder传递给库构造函数(依赖注入)的意义是调用代码负责控制ISession的生命周期。通过将它包装在一个使用中,Dispose()在ISession上被调用,你将不能延迟加载对象成员或持久化它。我们通过将一个ISession传递给存储库构造函数来做类似的事情。巴勒莫的代码,我理解它,只是增加了惰性初始化的ISession。我不认为这是必要的,因为如果你不打算使用它,为什么你会新建一个存储库? (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 所选值不适用于SelectList
- asp.net-mvc-3 – 在MVC 3的浏览器选项卡中打开PDF结果
- asp.net-mvc – 何时使用RedirectToAction和哪里使用Redire
- ASP.NET中的网站或Web应用程序
- SignalR(.NET Core)中的JWT身份验证,而不在查询字符串中传递
- asp.net – 使用SelectedValue对RadioButtonList进行数据绑
- asp.net – e.CommandArgument for asp按钮不工作
- 将“onclick”属性添加到asp.net下拉列表项
- asp.net-mvc-3 – 我可以在App_Code之外使用全局剃须刀@hel
- asp.net-mvc – 使用Visual Studio和ASP.NET MVC加载时间非
推荐文章
站长推荐
- asp.net-mvc-3 – 与ASP.NET MVC 3中的视图页面不
- modelstate – asp.net mvc没有实体框架
- asp.net-mvc – ASP.NET MVC中的Razor页面生命周
- 使用ASP.NET MVC 3助手的标题属性的渲染跨度标签
- ASP.NET MVC与Webforms:替换WebForms控件
- asp.net – 如何在SQL4的log4net配置中使用存储过
- asp.net – LINQ to SQL – 如何选择特定的列和返
- asp.net-mvc – FormsAuthentication LoginUrl
- asp.net – 找不到ID为“xxx”的UpdatePanel.如果
- asp.net – 在JavaScript中访问asp:hiddenfield
热点阅读
