}
«网站首页

Karron Qiu

关注此人
把Karron Qiu加为好友
附言:



最新动态
  • Karron Qiu 回复小组话题:加载10个映射文件要3秒,是否正常? 2010-03-30 13:02
    正常. 这个只会在程序启动的时候创建一次, 所以问题不是很大.
  • Karron Qiu 回复小组话题:试了一下更换数据访问层,出问题了 2009-12-09 08:46
    @推土机soft插入一条数据呢, 时间有差别吗? ORM的应用场景不是来做数据导入的. 这样的测试没有任何意义.
  • 其实你贴的错误信息里面就有如何解决这个问题的方法. 仔细看看吧.
  • Karron Qiu 回复小组话题:简单例子:Session-Per-Request模式 2009-11-15 20:51
    最好是用 web 而不是managed_web. managed_web 已被废弃.
  • Karron Qiu 回复小组话题:session.Refresh没有作用? 2009-11-15 19:16
    多去看成熟的项目示例, 可以少走弯路. 建议看国外的开源项目. 国内很多都是以讹传讹.你这里的refresh用得毫无意义. 不但毫无意义, 而且非常糟糕.
  • Karron Qiu 回复小组话题:本周的学习心得 2009-11-15 19:13
    应该说在一次完整的业务操作只用一个session. 而不是一个save, update这样的操作就开启关闭一个session. 这个模式是nh里面最糟糕的模式之一了, 另外一个就是...
  • Karron Qiu 回复小组话题:NHibernate中的删除对象方法 2009-11-09 22:50
    @kilerISession.Delete("from Customer c where c.Id=:id") 这样似乎并不是批量操作. 用IQuery可以来做.
  • Karron Qiu 回复小组话题:请教组长一个问题,请进 2009-11-02 08:36
    IList<T> GetEntities<T>(string hql)还是把C#泛型基础知识先看看吧
  • select distinct c from Customer c inner join c.Orders o where o.OrderDate = :date
  • Karron Qiu 回复小组话题:Session如何管理? 2009-08-14 21:47
    @tonini如果你的session作用范围只在DAL里面,那么你的延迟加载等等功能就不太好实现了.session这种东西, 本来就不应该由任何一层的代码去管理. 他应该是自动的, 自己管理的. 就如同transaction一样, 也不应该由代码去管理, 应该也是自动的.
  • Karron Qiu 回复小组话题:Session如何管理? 2009-08-12 20:40
    @xwing你这种解决方法也还行。 但是你的BLL层不会有互相调用的吗?如果互相调用了, 你怎么保证多个BLL使用的是同一个session,同一个事务?因为你前一个BLL的方法可能已经commit并且关闭了session。web form和wcf里面使用nh都可以比较好的解决。 就是winform,wpf里面如何管理还比较头疼。我本人也一直没有做过这样的项目, 最近本身也比较忙, 没有时间来研究这
  • Karron Qiu 回复小组话题:减少SQL语句 2009-08-12 20:32
    @Gray Zhang你的对象关系简单可能影响就不大。不过一个个关联过去, 可能一下子查询的数据还是会很多。@浅浅dě夕阳如果有二级缓存, 如果缓存的好的话, 其实就不担心N+1的问题了, 因为这些N条记录都可以从二级缓存里面拿到。这个时候用lazy load就更没问题了。
  • Karron Qiu 回复小组话题:减少SQL语句 2009-08-12 13:13
    @Gray Zhang如果你设置lazy=false. 那你对象之间会有关联吗? 如果你是完整的对象关联, 也许, 你查询一个对象, 把数据库很多表的数据都查出来了.proxy的问题确实比较头疼.但是只要注意一下, 使用积极加载将需要序列化的对象事先将需要访问的属性都初始化好就没问题.@VincentN+1 一般是用积极加载来避免. @浅浅dě夕阳所谓的N+1, 是指, 比如你需要查询订单表,
  • Karron Qiu 回复小组话题:减少SQL语句 2009-08-11 22:23
    @Beggar是的。 如果没有延迟加载, 那么你取一个对象可能会把很多暂时不需要的关联对象都取出来, 这个是很恐怖的。所以要多用profiler查看sql语句, 发现不必要的sql就要优化。我曾经一个非常复杂的页面居然要执行 100多条sql, 经过优化之后就只有20条了, 速度提升很多。关键就是能一次取出来的就不要多次取。不要在循环里面执行sql。多使用2.1 的future load来合并sq
  • Karron Qiu 回复小组话题:减少SQL语句 2009-08-11 22:17
    延迟加载和积极加载要灵活使用, 才能获得最大的性能。n+1是性能的最大敌人。要谨慎处理。
  • Karron Qiu 回复小组话题:求助:使用query cache的问题 2009-08-08 22:20
    查询缓存就是只缓存ID的, 所以要和二级缓存一起用才有意义, 实际上他并没有想象中那么好用。
  • Karron Qiu 回复小组话题:NHibernate 还有哪些不足? 2009-07-25 08:01
    @tonini 可尝试写自定义的dialect。
  • Karron Qiu 回复小组话题:NHibernate 2.1 GA发布 2009-07-23 18:47
    @LeoXing 现在trunk版本就是3.5的。
Top