2012-11-12 32 views
0

我公司有兩個部門向不同類別的客戶銷售機票。 這兩個部門的票數據庫是不同的,但他們裏面的表是相同的。根據部門ID切換DataContext

我想根據departmentID插入數據行或操作數據。在過去,我可以使用變量departmentID來確定哪個部門並連接到正確的數據庫。由於表結構是相同的,其餘的代碼可以共享。 例如:SQLstr =「.... from eAirsTable」+ departmentID +「where ...」

但現在我是DataContext,我不知道該怎麼做。

public class eAirs_OrderManager : IOrderInterface 
    { 
     public void Insert_OrderDB(Login _login) 
     { 

      if (_login.departmentID=="Orange") 
      { 
       OrderDB_testDataContext OrderDBDC = new OrderDB_testDataContext();     
      } 

      if (_login.departmentID=="Tristar") 
      { 
       OrderDBDataContext OrderDBDC = new OrderDBDataContext(); 
      } 

      OrderDBDC.... **<--cannot be done** 
     } 

     public void Insert_Member_simple 
     { 
      ... 
     } 
} 

請指教。

回答

2

由於兩個數據庫的底層架構都相同,所以只創建一個具有兩組不同的連接字符串的數據上下文。

if (_login.departmentID=="Orange") 
{ 
    OrderDBDataContext OrderDBDC = new OrderDBDataContext("ConnectionString 1"); 
} 

if (_login.departmentID=="Tristar") 
{ 
    OrderDBDataContext OrderDBDC = new OrderDBDataContext("ConnectionString 2c"); 
} 
0

爲每個部門創建一個不同的連接字符串,並用它來創建不同的上下文。

OrderDBDataContext OrderDBDC = new OrderDBDataContext(New DBConnection("DepartmentConnectionStringName"));