|
1
|
| jeroenh · 技术社区 · 16 年前 |
|
|
1
3
除非你真的知道自己在做什么,否则我不会推荐它。不经意间:
如果您想进行交叉请求对话,请签出 NHibernate.Burrow 这是一个专门为此目的而设计的框架。 |
|
|
2
0
与NHibernate的“每个请求的会话”与HttpSession没有关系每个请求会话中的“会话”是NHibernate会话。在请求开始时将NHibernate.ISession存储在HttpContext.Current.Items中,并在请求结束时进行处理是安全的。 |
|
3
0
是的,如果基于不是主键的属性获取经常使用的对象,那么缓存该对象是有意义的。 我的站点有一个Person类,它代表站点上的特定用户。对于任何给定的web请求,我需要多次获取当前登录用户对象,以访问特定于当前用户的各种配置设置和属性。我没有每次都访问数据库,而是将当前用户存储在HttpContext.Items[]中,我有一个静态方法来检查Items缓存是否包含当前用户。如果有,则返回它,如果它没有从数据库中获取,则将其添加到缓存中,以便下次可用:
值得指出的是,NHibernate的一级缓存通过ID缓存会话访问的所有对象。如果我调用session.get(ID),则无需缓存,因为NHibernate的一级缓存通过对象的ID维护对象。但在上述情况下,我通过User.Identity.Name获取person对象,则使用一级缓存不起作用,因为用户的用户名不是对象的主键。 http://aspnet.4guysfromrolla.com/articles/060904-1.aspx 不要使用HttpContext.Cache,因为某些原因,它会持续超过Http请求。 |
|
|
Nico Pizzo · 子查询上的nhibernate联接 8 年前 |
|
|
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 8 年前 |
|
|
Stu · 具有特定类型的字符串外键的NHibernate映射 8 年前 |
|
|
Zout · 为Hibernate的HiLo算法管理的列生成ID 8 年前 |