2017-10-04 16 views
1

在我的MVC應用程序中,Web配置文件具有三個或多個具有不同數據庫的sql數據庫連接字符串。我的問題是基於用戶登錄啓用一個數據庫休息兩個應該禁用。這是可能的Mvc沒有使用實體框架?如何在沒有Entityframework的情況下在MVC中使用多個數據庫?基於用戶標識只有一個數據庫啓用

我的Web配置文件,

<add key="SqlConnection" value="Data Source=10.10.9.89;Initial Catalog=ABC;Persist Security Info=True;User ID=sa;Password=Pass1234"/> 
    <add key="SqlConnection2" value="Data Source=10.10.9.89;Initial Catalog=XYZ;Persist Security Info=True;User ID=sa;Password=Pass1234"/> 
    <add key="SqlConnection3" value="Data Source=10.10.9.89;Initial Catalog=PQR;Persist Security Info=True;User ID=sa;Password=Pass1234"/> 

我試試這個代碼,

[HttpPost] 
     public ActionResult Index(LoginDetails log) 
     { 
      if (log.UserId == "Admin") 
      { 
       SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["SqlConnection"].ConnectionString); 

      } 
      else if (log.UserId == "Customer") 
      { 
       SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["SqlConnection1"].ConnectionString); 
      } 
      else 
      { 
       SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["SqlConnection2"].ConnectionString); 
      } 
      return View();    
     } 

回答

2

即使有在web.config中的多個連接字符串,這取決於與連接字符串SqlConnection對象被初始化。

假設有三個連接字符串,myConnectionString1myConnectionString2並在web.config中myConnectionString3,並且要使用第二個,然後 - 如果管理員登錄myConnectionString1需要實現兩個連接字符串的其餘

SqlConnection con = new SqlConnection(
WebConfigurationManager.ConnectionStrings["myConnectionString2"].ConnectionString); 
+0

應禁用並且如果用戶登錄myConnectionString2被啓用並且其餘兩個被禁用。是正確的?? – Parameswaran

+0

@Parameswaran - 所有3連接字符串將在web.config文件中。它只是當管理員登錄時使用myConnectionString1初始化它,如果正常用戶登錄,則使用myConnectionString2初始化它。 – Yogi

+0

我根據條件拋出錯誤編寫了代碼 – Parameswaran

相關問題