一个实体对象,就相当于数据库里的一条记录,而一个实体对象的属性,就对应了数据库里一条记录的某一列的值。
因此如果你的实体类的属性和数据库里的列名之间存在一定的关系,那么就可以通过反射机制,写一个通用的方法,来将数据库的每一条记录装载进对应的实体类,而不用像以前一样每一个表转换为实体的时候都要写一大堆的 model.Name = dr["Name"].ToString() 之类的代码了。
应用工厂模式.把数据库联接作接口.再用点反射给一小段代码参考
public DbDriver()
{
// 获取程序集名称
assemblyName = ConfigurationManager.AppSettings["AssemblyName"]
// 获取默认构造器名称
constructor = ConfigurationManager.AppSettings["Constructor"]
}
public IDataTask DriveLWordTask()
{
// 建立 IDataTask 对象实例
return (IDataTask)Assembly.Load(assemblyName).CreateInstance(constructor, false)
}
assemblyName是某种具体数据库连接方式的程序集名.改变配置中的程序集名即得到不同的连接方式,不明白就先看下工厂模式
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)