使用C++/CLI泛型实现ORM

实体类的生成周期:
      读取数据:创建空的实体类/集合-->创建查询条件实例-->装载数据-->程序使用(显示或者更新等)-->结束
      更新数据:创建空的实体类/集合-->程序添加或者修改数据-->存储数据-->结束。

      如果是读取后更新,把上面的更新 附加到 读取 之后,去掉一个创建空的对象和结束的过程,就可以实现。

实体类(相当于表中的行)的定义:
     这个部分类似数据表的基本结构,有一个或者多个具体的属性组成。每个属性有个是一个ICell接口的实现类的实例。
    属性接口:ICell-->含有一个列信息的属性,一个访问和修改列的值的属性 
   实体类的列支持 IEnumerable接口,可以遍历所有属性。
   
   ICell 继承类:普通的属性类--〉对应数据库中的普通的列,没有PK、FK支持。UK等其他索引在实现中不打算支持。
                           PK或者UK类--〉用户实现对象之间的关系,他们具有  普通的属性类 的特点,还有一些关联的属性。

实体集合(类似于表):
   目前未仔细考虑

表达式类:
   根据实体类,创建一些用于查询的条件。可以执行sql的任何操作。
   具体的实现:通过把各种程序中关系的定义,转换成sql得语法的操作。由一个Filter类实现。

   把Filter 和实体类结合起来,目前的工作。。。。。。
 (继续中)

原文地址:https://www.cnblogs.com/thh/p/671652.html