怎样用c#的反射技术做SQL语句的 select语句,现在没点思路,高人帮忙一下,谢谢C#select

解决方案 »

  1.   

    你是不是要根据一些属性让程序自己拼SQL字符串啊。这个可以通过Attribute实现
      

  2.   

    没看懂意思,如果嫌DTO给sql中参数赋值麻烦,可采用配置文件配置sql语句
    例如
    配置文件配置
    update  tab set A=@A,B=@B where id=@Id
    程序中有DTO Tab类
    class Tabl{
    property A
    property B
    property Id
    }
    反射Tab类 将属性值替换掉@A,@B,@Id 即可,
    这个反射替换的动作可以写一个通用的方法来做。适用于所有DTO
    用ORM 框架 可以省掉写Sql
      

  3.   

    你的意思是利用反射来拼接sql语句?这个表名对应类名,
    根据列名生成带参数的sql语句,
    update  tab set A=@A,B=@B where id=@Id
    缓存这个语句,以后就不用再次生成,提高运行效率
    用GetValue方法获取值,和刚才的语句传过去执行就可以了
      

  4.   

    增加几个必须的属性,如:
    SqlOperate  SQL操作,select/insert/update
    TableName   表名
    QueryField  查询字段名
    OrderByField排序然后拼接成SQL语句,执行