日前必须使用sql语句来查询数据库 但每次你不想写一个数据库中读取所以查了下反射
我想用反映一个实体的所有属性,然后,基于属性的查询和分配值
首先,须要一个实体类才干反射出数据库相应的字段,
可是開始写属性的时候,我看见特性蛮好用的,能够实现切面编程.
我也查了特性,可是网上这方面资料不多,大多都是介绍,仅仅能自己慢慢摸索了.
[Model.Context.SelectContext] public class Entity { public int ID { get; set; } public string Name { get; set; } }弄一个实体类,设置一个特性
Context.SelectContext能够表示能够用来查询数据
接下来定义SQLHelp类查询
////// 查询集合 /// /// 查询的实体 new() /// sql语句 /// 生产实体运行的操作 /// 可变參数 ///返回集合 public static IEnumerableSelectReader (string sql, Func result, params System.Data.Common.DbParameter[] param) where T : class { using (SqlConnection con = new SqlConnection(connString)) { SqlCommand cmd = new SqlCommand(sql, con); cmd.Connection.Open(); if (param != null && param.Length > 0) cmd.Parameters.AddRange(param); SqlDataReader dr = cmd.ExecuteReader(); var list = new List (); while (dr.Read()) { T t = result(dr);//产生实体类托付,依据sqlDateReader产生一个实体类 if (t != null) list.Add(t); } dr.Close(); return list; } }
一个查询方法依据sql语句来返回一个集合
下一篇写sql辅助类,用来定义一个sql操作的模板
全部源代码 http://download.csdn.net/detail/qq6648208281/7939613
http://blog.csdn.net/qq6648208281/article/details/39379271
版权声明:本文博客原创文章。博客,未经同意,不得转载。