在我做《朗志轻量级项目管理解决方案》的过程中,我希望能够将权限细化到数据级别,比如说公司经理能访问整个公司的数据,而部门经理只能访问他部门的相关数据,这个需求很常见,可我觉得实现起来就比较麻烦了,当然最笨的方法是写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
目前还在犹豫该怎么处理,还请大家指点一下
分享到:
相关推荐
LINQ,语言级集成查询(Language INtegrated Query) 经过了最近 20 年,面向对象编程技术( object-oriented (OO) programming technologies )在工业领域的应用已经进入了一个稳定的发展阶段。程序员现在都已经...
OQL.NET 是一套强类型的数据库对象查询语言 (OQL,Object Query Language),和 SQL 以及其它 OQL 不同的是,OQL.NET 基于宿主语言 (基于 C# 和 VB 等原生 .NET 语言而不是字符串)。OQL.NET 兼容 SQL-92 标准。 ...
3. **OODBMS架构**:介绍面向对象数据库系统的架构,包括对象存储模型、查询语言(如OQL,Object Query Language)和数据访问接口,以及如何实现面向对象的特性在数据库中。 4. **数据建模**:讨论面向对象的数据...
C#是一种现代化、类型安全的面向对象编程语言,由微软公司开发并应用于.NET框架中。它的设计目标是提供一种能够构建高效、可靠且易于维护的软件的工具。面向对象编程(Object-Oriented Programming,OOP)是C#的核心...
4. **查询语言**:掌握面向对象的查询语言,如OQL(Object Query Language),用于查询和操作数据库中的对象。 5. **数据操作**:理解如何插入、更新和删除对象,以及如何执行复杂的几何体查询,比如交集、并集、...
Hibernate Query Language(简称 HQL)是 Hibernate 提供的一种强大的查询语言,其设计目标是为了提供一种更接近于面向对象编程的查询方式。本文将深入探讨 HQL 的基本概念、语法以及一些高级用法,帮助读者更好地...
5. 查询语言HQL:介绍Hibernate Query Language,一种面向对象的查询语言,用于检索和更新数据库中的对象。 6. Criteria查询和Criteria API:解释如何使用Criteria API进行动态查询,以及相比HQL的优点和使用场景。...
4. **查询语言**:虽然SQL在关系型数据库中广泛使用,但面向对象数据库通常有自己特定的查询语言,如OQL(Object Query Language)。OQL允许用户以面向对象的方式来检索和操作数据,支持对类、对象和属性的查询。 5...
面向对象程序设计是计算机科学中的核心概念之一,尤其是在C#这样的现代编程语言中。安徽机电职业技术学院提供的这些考试资料,包括2007年和2009年的C#试题,为学生提供了一个深入理解这一关键概念的宝贵资源。 1. *...
10. **LINQ(Language Integrated Query,语言集成查询)**:LINQ是.NET Framework的一部分,提供了统一的查询接口,可以在各种数据源(如数据库、XML、集合等)上进行查询。VB.NET支持内联的LINQ查询语法,简化了...
- **OOQL (Object-Oriented Query Language)**:这是一种标准的面向对象查询语言,用于在面向对象数据库中执行查询操作。 - **ODMG (Object Database Management Group)**:这是一个标准化组织,定义了一套用于面向...
首先,我们要理解“面向对象”(Object-Oriented Programming,OOP)的概念。面向对象编程是一种编程范式,它将数据和操作数据的方法封装在一起,形成对象,通过对象之间的交互完成任务。在Java中,类是对象的模板,...
在IT领域,SQL(Structured Query Language)是一种用于管理和处理关系数据库的强大语言,它的重要性不言而喻。面向对象编程(Object-Oriented Programming, OOP)则是软件开发中的一种主流编程范式,它以对象为中心...
C#编程语言是微软开发的一种强类型、面向对象的编程语言,它被广泛应用于Windows桌面应用、游戏开发、Web应用以及移动应用等多个领域。面向对象编程(Object-Oriented Programming, OOP)是C#的核心特性,理解并掌握...
首先,让我们了解一下Hibernate中的HQL(Hibernate Query Language),它是Hibernate提供的面向对象的查询语言,类似于SQL,但更贴近于Java。在HQL中,我们可以方便地使用聚合函数进行数据处理。例如,如果你想要...
LINQ(Language Integrated Query)是查询语言的集成,简化了数据查询操作。 9. **第九章:文件与流** - 这一章可能介绍如何读写文件、处理二进制数据流,以及如何使用XML或JSON进行数据序列化和反序列化。 10. **...
LINQ(Language Integrated Query,语言集成查询)是C#的另一个特色,它允许开发者使用一致的查询语法查询各种数据源,包括集合、数据库和XML文档。LINQ简化了数据访问,提高了代码的可读性和效率。 在C#中,异步...
2. **查询语言**:DB4O支持查询语言OQL(Object Query Language),它类似于SQL,但针对对象模型进行了优化,可以直接查询对象属性。 3. **透明性**:DB4O自动处理对象的持久化和检索,开发者无需编写额外的代码来...
8. **LINQ**:Language Integrated Query(语言集成查询)是C#的一项重要特性,它允许开发者使用类似SQL的语法在内存中的数据集、数据库和其他数据源上进行查询,提高了代码的可读性和效率。 9. **异步编程**:C#...