轻量级O/R Mapping,Lor

王朝c#·作者佚名  2006-12-17
宽屏版  字体: |||超大  

新年新迹象,我的新年就是要做Lor。什么是Lor?Lor是Lightweight OR的意思,是我自己根据实际需要拟定的O/R Mapping项目。就像它的名字所说,它是一个轻量级的O/R Mapping,主要特色就是使用快捷、简便,多种选项让您在不影响(极少)效率的前提下尽量简化与数据库的操作。这就是Lor。以下是Lor的基本需求。 需求描述

数据

只是在数据与对象之间实现一个简单的映射,其他的因素一概不予考虑,但需要其他因素都可以用原始方式达到实现,其适用度不能下降。

1. 支持延时加载(Lazy Loading)

2. 支持约束(Constraints)

3. 支持计算值(Computed Value)

4. 内部数据状态。

5. 必须可以XML序列化并二进制序列化。

6. 考虑多线程操作。

7. 支持数据实体的单个事务与多个数据实体共同的事务。

业务逻辑

实现简单的数据关系与对象关系的映射,不考虑其他因素,但提供其实现路径。

1. 内嵌关系,外界不能直接操作关系,但可以通过面向对象的标准方式(继承、聚合)达到关系的扩展。

2. 数据实体之间的基本关系,创建、修改、销毁关系。

一般需求

1. 动态的数据库绑定,可以在不改变源代码的情况下重新与数据库不同的字段做绑定。

2. 集中定义模型,利用模型生成相应的数据库及代码。

3. 考虑对多数据库的生成支持,同时注意对不同的数据库生成不同的源代码实现高效能调用。

4. 考虑对多编程语言的生成支持。

5. 提供图像化模型设计工具,设计模型。

6. 多次生成时提供选项选择是否覆盖所有已生成文件,或者只覆盖其结构上的改变(也就是个人实现将得以保存)。同时支持数据库脚本与源代码生成两种选项。

Lor暂时不作为开源项目考虑,但在将来可能会开源。敬请期待!^_^

另外值得一提的是,将来我的发展可能要偏向于Java了,到时候的开发就是基于Java的了,但.NET上的新技术等我仍然不会丢掉,我要吸取两种平台的精华!^_^

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有