自己动手打造ORM(二) —元数据
2008-10-07 12:50
253 查看
ORM既然是实体与关系数据库的映射,那就需要建立实体和关系数据库之间的基础数据,也可以称为元数据。简单的说就是表示类与表、列与属性(get、set方法)等等之间对应关系的数据。
ColumnInfo的ColumnMode是为了区分读写操作,ForeignTable是在查询时使用的。另外GetValue和SetValue用到了CodeProject上的FastInvoke,为了提高效率而又不至于搞得太复杂。
在查询时不可避免的会使用到join,因此增加了TableJoinInfo的信息。在TableJoin中,考虑到实际的使用情况,可以有2种方式,一种是“强类型”的,必须关联到某个TableInfo,而只需要指定外键;另一种是直接写数据库中的表名,当然关联条件就需要自己手动写了。第二种实际上并不是很好的做法,不过也提供了,使用的时候注意就可以。
目前考虑到的元数据就这些,至于其他的函数、存储过程、视图、触发器,都没有考虑,这些太过于依赖数据库了,不适合应用在OO的设计中。
ColumnInfo的ColumnMode是为了区分读写操作,ForeignTable是在查询时使用的。另外GetValue和SetValue用到了CodeProject上的FastInvoke,为了提高效率而又不至于搞得太复杂。
在查询时不可避免的会使用到join,因此增加了TableJoinInfo的信息。在TableJoin中,考虑到实际的使用情况,可以有2种方式,一种是“强类型”的,必须关联到某个TableInfo,而只需要指定外键;另一种是直接写数据库中的表名,当然关联条件就需要自己手动写了。第二种实际上并不是很好的做法,不过也提供了,使用的时候注意就可以。
目前考虑到的元数据就这些,至于其他的函数、存储过程、视图、触发器,都没有考虑,这些太过于依赖数据库了,不适合应用在OO的设计中。
相关文章推荐
- 自己动手打造ORM(四) —需求
- 自己动手打造ORM(三) —自定义Attribute
- 自己动手打造ORM(五) —实现
- 自己动手打造ORM(一)
- 自己动手写个ORM实现(4) 关于反射DataRow数据记录到实体性能的优化
- [转载]使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)
- 自己动手打造嵌入式Linux软硬件开发环境
- (源码阅读)自己动手打造一套属于自己想IOC注解框架
- 自己动手,打造数据库通用查询控件(using c#)
- 用C#打造自己的通用数据访问类库(续)
- 手把手教你自己动手恢复坏道硬盘数据
- 简单写写华软mysise教务系统模拟登陆+获取课程表数据(打造自己的超级课程表)
- 自己动手打造企业级短信平台(下)
- 使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)
- 我的架构演化笔记 13:自己动手写Nutch-index插件导入数据到MongoDB
- 自己动手打造最新去广告版迅雷
- [置顶] 【一步一个脚印】Tomcat+MySQL为自己的APP打造服务器(3-3)Json数据交互
- 自己动手打造嵌入式Linux软硬件开发环境
- 自己动手打造PE系统
- 自己动手用麦咖啡(mcafee)打造自己的安全网站!安全系统(服务器)