簡體   English   中英

用於多個連接字符串的MVC WebConfig變量

[英]MVC WebConfig Variable for Multiple Connection Strings

簡短版本:是否可以以及如何在我自己可以使用的web.config文件中定義變量。

我是一家公司的新手,也是C#MVC Web應用程序的初學者。 我的任務是維護和測試在單個web.config文件中具有多個連接字符串的Web應用程序。 但是,這些連接字符串具有相同的值,如:

<connectionStrings>
    <add name="DefaultConnection" connectionString="provider=System.Data.SqlClient;provider connection string=&quot;data source=SUPERCOMPUTER\SQLEXPRESS2012;initial catalog=HumanResourceDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="DefaultConnection3" connectionString="Data Source=SUPERCOMPUTER\SQLEXPRESS2012;Initial Catalog=HumanResourceDB;Integrated Security=True" providerName="System.Data.SqlClient" />
  </connectionStrings>

如您所見,與這兩者的區別僅在於連接的名稱。 由於我是初學者,我不知道為什么這個應用程序必須使用2個不同名稱的相同連接字符串。 有人告訴我,一個正在使用的數據庫一是實體框架和其他正在使用ASP.NET識別碼首先,我不現在那些是什么知道。

問題 :我一直在改變連接字符串值以測試不同的機器/環境/數據庫等,並且需要修改2個連接字符串真的讓我失望。

問題 :是否可以使用我可以在Web配置文件頂部聲明的變量並在連接字符串中使用它,以便我可以只修改變量值。 像這樣的東西:

var Server = SUPERCOMPUTER\SQLEXPRESS2012
var IntegratedSecurity = true
var database = HumanResourceDB
var user = databaseusername
var password = databasepassword

<connectionStrings>
    <add name="DefaultConnection" connectionString="... data source=**Server**;initial catalog=**database**;integrated security=**IntegratedSecurity **;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="DefaultConnection3" connectionString="Data Source=**Server**;Initial Catalog=**database**;Integrated Security=**IntegratedSecurity**" providerName="System.Data.SqlClient" />
  </connectionStrings>

附加問題:如果mvc應用程序依賴於Database First Entity Framework和Code First .NET Identity,是否真的不可能使用一個連接字符串?

所有EF項目都有一個dbContext File..so你可以在一個解決方案中使用多個EF項目(Code First,DB first)。

是的,它顯然是可能的...在代碼中首先你的db上下文可以得到你想要的每個ConnectionString的名字!..像這樣:

    public class AppContext : DbContext
{
    public AppContext() : base("ConString Name")
    {

    }
}

因此,您可以將連接字符串名稱更改為另一個...類似於DefaultConnectionString1到DefaultConnectionString12或1000 ...並且您可以使用多個數據庫上下文來處理多個數據庫...

在代碼中,首先來自數據庫,就像那樣...所以在項目的每個部分中,您都可以創建自己喜歡的dbcontext 並在那上做CRUD操作..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM