|
本文示例源代码或素材下载
在介绍ORM框架之前,先介绍一下数据访问层的设计。数据访问层是ORM框架的基础,ORM只是封装了数据的访问操作而已。我是根据.net提供的数据库访问对象把数据库划分为三类的:
/// <summary> /// 数据库类型 /// </summary> public enum DataBaseType { SqlServer, Oracle, OleDb }
除去SqlServer和Oracle,其它的数据库都归为OleDb。数据访问层采用了工厂模式,根据参数创建对应的数据访问类,工厂代码如下:
DBHelperFactory public class DBHelperFactory { public static string ConnectionString { get; set; } public static DataBaseType dbType { get; set; } static DBHelperFactory() { dbType = DataBaseType.SqlServer; } /// <summary> /// 根据数据库连接字符串名生成数据库访问类 /// </summary> /// <param name="connectionName"></param> /// <returns></returns> public static IDBHelper CreateDBHelper(string connectionName) { ///从配置文件中获取数据库连接字符串 ConnectionString = ConfigurationManager.ConnectionStrings[connectionName].ConnectionString; switch (dbType) { case DataBaseType.SqlServer: return new SqlDBHelper(ConnectionString); case DataBaseType.Oracle: return new OracleDBHelper(ConnectionString); case DataBaseType.OleDb: return new OleDbHelper(ConnectionString); default: return null; } } }
数据访问对象是根据设置的数据库类型和传入的数据库连接字符串名创建的,也就是说,在一个项目中,可以使用多个不同类型的数据库,默认使用的是SqlServer数据库。各数据访问类继承统一的接口:
public interface IDBHelper { /// <summary> /// SQL语句 /// </summary> string CommandText { get; set; } /// <summary> /// 返回多条数据记录 /// </summary> /// <returns></returns> DataTable ExecuteDataTable(); /// <summary> /// 返回单条数据记录 /// </summary>
上一篇:ORM框架
下一篇:C#基础之String篇
|