0

私の会社には、さまざまなカテゴリの顧客に航空券を販売する 2 つの部門があります。2 つの部門のチケット データベースは異なりますが、それらの内部のテーブルは同一です。

部門IDに従って、データの行を挿入したり、データを操作したりしたい。以前は、変数 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
        {
            ...
        }
}

お知らせ下さい。

4

2 に答える 2

2

両方の DB の基になるスキーマは同じであるため、2 つの異なる接続文字列セットを持つ 1 つのデータ コンテキストのみを作成します。

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

if (_login.departmentID=="Tristar")
{
  OrderDBDataContext OrderDBDC = new OrderDBDataContext("ConnectionString 2c");
}
于 2012-11-12T11:08:46.560 に答える
0

部門ごとに異なる接続文字列を作成し、それを使用して異なるコンテキストを作成します。

OrderDBDataContext OrderDBDC = new OrderDBDataContext(New DBConnection("DepartmentConnectionStringName"));
于 2012-11-12T10:57:04.980 に答える