利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理   2018-3-10 15:18 | 发布:Admin | 分类:代码库 | 评论:0 | 浏览:45 | 该类在MVC中可以方便管理配置信息,可以直接把Model储存进数据库或者从数据库去除数据转为Model. 1 何为配置项目? 比如网站的名称,页脚信息,meta中的KeyWord信息等,如果不想硬编码到网页里,就需要使用配置文件进行储存,通常都是储存到数据库中.使用的时候读取…
考虑到软件使用在客户端,同时想简化代码的实现,就写了一个泛型的数据访问对象基类,并不是特别健全,按道理应该参数化的方式实现insert和update,暂未使用参数化,抽时间改进. /// <summary> /// DAO基类 实体名必须要与数据表字段名一致 /// </summary> /// <typeparam name="T"></typeparam> public class BaseDao<T> where T :…
继续完善了几点代码 满足没有主键的情况下使用 并且完善实体字段反射设置value时的类型转换 /// <summary> /// DAO基类 实体名必须要与数据表字段名一致 /// </summary> /// <typeparam name="T"></typeparam> public class BaseDao<T> where T : new() { protected DataModule dataModule =…
在1的基础上做了一点改进 参数化处理 看上去更简洁 无主键情况下 update 方法需要改进 insert delete没有问题  /// <summary>     /// DAO基类 实体名必须要与数据表字段名一致     /// </summary>     /// <typeparam name="T"></typeparam>     public class BaseDao<T> where T : new()  …
/// <summary> /// 适用于初始化新实体 /// </summary> static public T RotationMapping<T, S>(S s) { T target = Activator.CreateInstance<T>(); var originalObj = s.GetType(); var targetObj = typeof(T); foreach (PropertyInfo original in originalO…
利用泛型和反射,管理配置文件,把Model转换成数据行,并把数据行转换成Model   使用场景:网站配置项目,为了便于管理,网站有几个Model类来管理配置文件, 比如ConfigWebsiteModel 用来管理基本信息 ConfigSeoModel 用来管理SEO信息 ConfigCacheModel 用来管理网站缓存信息 不用Model之间不能有重名属性字段 现在需要把他们储存到数据库中,并从数据库中读取出来转换成Model以便修改.不使用 List<T>和Dictionary<…
public class ConvertHelper<T> where T : new() { /// <summary> /// 利用反射和泛型 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static List<T> ConvertToList(DataTable dt) { //…
Service: /** * @Description: 1.保存定区  2.让分区关联定区 * 对象三种状态 1.持久态(被session管理对象-一级缓存中有对象) 2.托管态(有OID标识,数据库中有记录)  3.瞬时态 new对象 对象关联:持久态可以关联持久态 / 持久态关联托管态 */ public void save(FixedArea model, String[] subAreaId) { //问题:保存完成参数定区对象是瞬时态 //解决:使用save方法返回对象(返回结果是持…
在项目中经常需要处理表单,给model赋值,很烦人的一些重复代码.如下边的代码: News news = new News(); news.Id = int.Parse(Request.Form["Id"]); news.Category = int.Parse(Request.Form["Category"]); news.Title = Request.Form["Title"]; news.CreateTime = DateTime.Par…
问题:将SqlDataReader对象转换为List<T>集合 思路: 1,利用反射的特性得到对应实体Model的公共属性 Type type = typeof(T); PropertyInfo[] p = type.GetProperties(); 这样就得到了该实体Model中的属性 2,利用反射创建该类的实例 var model = Activator.CreateInstance<T>(); 3,遍历该实体中的所有属性,将该实例插入到集合中 整体代码如下: using Sy…