准备重写一个 SQL Helper:
1、我决定使用反射,来获取实体类的结构,根据实体类的结构去数据库创建相应的表(在有表的情况下,自动补足数据库表中缺少的字段);
2、对于增删改的操作,我将把实体类的对象先序列化为 XML 字符串,然后把这 XML 字符串转换成一个内存表(DataSet、DataTable),之后根据相应的操作,将其转换为相应的 SQL 语句,最后执行这些 SQL 语句,并获取相应的结果;
3、对于查的操作,我将在创建实体类所对应的表时(或者在补足数据库中缺少的字段时),将数据库表中的数据分段加载到内存中,然后在执行查的操作时,直接在内存中进行查找,并将查询结果转换为 XML 字符串,最后再把这 XML 字符串反序列化为实体类;
4、另外我将限制每个实体类所对应的数据库表的所有增删改查的并发操作(使用无锁的方法 ----- 原子操作);
5、为了保证该 SQL Helper 能实现所有数据库通用,我将基于 DbProviderFactory 类来实现,同时也会将相关方法抽象化;
6、为了配合依赖注入,我还会将该 SQL Helper 写成一个服务 Setvice;
最后一点还没想好,内存中的数据应该怎么管理呢?是给一个有效期,过期后清理数据,等下次要用的时候再去加载数据库表中所有的数据?还是一直就放在那?


↙↙↙阅读原文可查看相关链接,并与作者交流