zoukankan      html  css  js  c++  java
  • 利用反射+特性实现简单的实体映射数据库操作类(还未做自动生成SQL语句部分)


    写了一个数据库操作类,达到通过实体自动映射数据库进行查询,添加,删除,修改操作,啥也不说了,直接上代码:

    反回一个实体,通过枚举参数确定使用属性/特性进行字段映射(转款做表和主键映射)
    Code

    返回一个实体集合,类似上面的
    Code

    执行SQL实体映射操作,可以写INSERT、UPDATE、DELETE 操作,这样灵活些,抽时间再完成个自动映射生成SQL的,不过灵活性就差些了

    Code

    下面是字段的自定义特性和获取特性的代码:

    Code

    使用示例:
    首先实体加上特性:
    Code
    调用代码:
    获取一个实体集合:
     IList<People> peopleList = ExecuteEntity.GetEntityList<People>("SELECT DbName,DbTel FROM Test", CommandType.Text, AppEnum.ExeEntityType.isAttribute, null);

    向数据库插入实体数据:
    ExecuteEntity.ExeEntity<People>("INSERT INTO Test (DbName,DbTel) VALUES (@DbName,@DbTel)", CommandType.Text, AppEnum.ExeEntityType.isAttribute, people);

    最后再附上一个基础的数据库操作类:
    Code

    暂时就实现了这么多,继续开发,感觉一个强大的数据库操作类就是要大,要多,要全,要爆力!
  • 相关阅读:
    《Effective C#》读书笔记——条目22:通过定义并实现接口替代继承<使用C#表达设计>
    《Effective C#》读书笔记——条目23:理解接口方法和虚方法的区别<使用C#表达设计>
    《Effective C#》读书笔记——条目27:让类型支持序列化<使用C#表达设计>
    《Effective C#》读书笔记——条目28:提供粗粒度的互联网API<使用C#表达设计>
    《Effective C#》读书笔记——条目21:限制类型的可见性<使用C#表达设计>
    《Effective C#》读书笔记——条目24:用委托实现回调<使用C#表达设计>
    C# 温故知新 基础篇(1) C#概述
    《Effective C#》读书笔记——条目26:避免返回对内部类对象的引用<使用C#表达设计>
    《有关程序员的性别、年龄、个性、编程方法的话题》(2010/01/31)
    《程序员应该掌握的实用编程技能2》(2010/01/23)
  • 原文地址:https://www.cnblogs.com/assion/p/1529981.html
Copyright © 2011-2022 走看看