.NET数据库编程求索之路7.使用ADO.NET实现(工厂模式实现多数据库切换)(2)

7.使用ADO.NET实现(工厂模式-实现多数据库切换)(2)

7.3 数据访问层工厂HomeShop.DALFactory

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 //新添命名空间
 6 using System.Reflection;
 7 using System.Configuration;
 8 
 9 namespace HomeShop.DALFactory
10 {
11     public sealed class DataAccess
12     {
13         private static readonly string path = ConfigurationManager.AppSettings["DAL"];
14 
15         private DataAccess() { }
16 
17         public static Object CreateDAO(string className)
18         {
19             return Assembly.Load(path).CreateInstance(path + "." + className);
20         }
21     }
22 }

7.4 数据访问层接口HomeShop.DALInterface

IOrderDAO.cs

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 //新添命名空间
 6 using System.Data;
 7 using HomeShop.Model;
 8 
 9 namespace HomeShop.DALInterface
10 {
11     public interface IOrderDAO
12     {
13         int Add(Order order);
14         int Update(Order order);
15         int Delete(int orderID);
16         List<Order> GetList();
17         List<Order> GetList(string customerName);
18         Order GetSingle(int orderID);
19     }
20 }

IOrderItemDAO.cs

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 //新添命名空间
 6 using System.Data;
 7 using HomeShop.Model;
 8 
 9 namespace HomeShop.DALInterface
10 {
11     public interface IOrderItemDAO
12     {
13         List<OrderItem> GetList(int orderID);
14     }
15 }

IOrderStateDAO.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//新添命名空间
using System.Data;
using HomeShop.Model;

namespace HomeShop.DALInterface
{
    public interface IOrderStateDAO
    {
        List<OrderState> GetList();
    }
}

源码下载:/Files/SummerRain/NetDbDevRoad/7使用ADONET实现工厂模式DB切换.rar

数据下载:/Files/SummerRain/NetDbDevRoad/HomeShopDB.rar

原文地址:https://www.cnblogs.com/SummerRain/p/2631722.html