在我做《朗志轻量级项目管理解决方案》的过程中,我希望能够将权限细化到数据级别,比如说公司经理能访问整个公司的数据,而部门经理只能访问他部门的相关数据,这个需求很常见,可我觉得实现起来就比较麻烦了,当然最笨的方法是写Sql语句,但是我还是希望利用aop的方法来实现,不要将权限的部分耦合到具体的业务逻辑当中去,于是我想到了NHibernate中的HQL,使用NHibernate确实能解决我的问题,在java社区里也有基于hibernate的aop权限解决方法,但是这样就逼着我用NHibernate,对于个人来讲,使用NHibernate的学习曲线并不是非常高,但对于一个团队来说使用ORM我就担心了,至少我的团队的成员的现状是不能让我放心大胆的用NHibernate,加上无从考证的性能问题,所以NHibernate就被我舍弃了
接下来我发现了NBearLite,它是一个强类型的查询语法,参照了DLINQ,看介绍功能是挺强大的,是我需要的东西,但是最低需要2.0版本的支持,而我的项目是基于1.1的,对它的了解还是很片面,但它是开源的,实在把我逼急了,还可以考虑看它的源码,看能否实现一个1.1的版本,暂且保留做观望。
再是在查找过程中,发现http://www.macrobject.com/,这家伙是园子的,以前经常看它在园子里没事发点广告(哈哈),他提供了一个OOL.NET,一看功能也是我需要的,他的官方网站做的还是很专业的。不过他的是商业产品,这个就不在我的考虑之列了。。。
另外看到园子里的另外一位兄台的NDO组件亦实现了对象查询,而且有1.1和2.0两个版本,但是关于该组件的介绍还是比较少,也不是开放源码的,不过最主要的是关于NDO组件的介绍的文章还是非常少,所以还得抽空再研究一番
另外在codeproject搜索到一篇文章,但也是基于2.0的,先记录之,http://www.codeproject.com/cs/library/Karmencita.asp
目前还在犹豫该怎么处理,还请大家指点一下