摘要: 项目中使用的Nhibernate,在遇到某些问题的时候感觉执行的效率不高,这里就有个实际的场景,并用笛卡尔积来解决了这个问题。关于Orm最近看了Maintin Flower的文章OrmHate也让我对Orm有了更深刻的认识,在这个例子中我们我看到Orm并不是让我们不需要了解数据库,不需要知道数据库的底层知识,它并不是万能的,所以数据库的底层知识还是很重要的,还有我们的程序不能脱离数据,有数据往往就有数据库的参与,这样可想而知,数据库的底层知道对我们是多么重要。阅读全文 阅读全文
posted @ 2012-06-17 12:11 _小阳 阅读(1403) 评论(0) 推荐(1) 编辑
摘要: 最近项目中遇到这样一个问题,场景是: 我需要给所有的Employee分配几个权限(Role),由于项目中用的Nhibernate,用的是QBC查询这样完成这个操作的伪代码大概是: for(Employee emp in employees) { for(Role role in Roles) { emp.Roles.Add(role);//Employees和Roles双向关联,Roles端inverse = true } } 这样就有个问题,2次循环复杂度相当高,而且每执行一次emp.Roles.Add(role) 都会生成一句Sql,这么多的S... 阅读全文
posted @ 2012-06-17 12:06 _小阳 阅读(1853) 评论(0) 推荐(0) 编辑