Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#使用appSettings参数在app.config中编写connectionString_C#_Entity Framework_Connection String_App Config_Appsettings - Fatal编程技术网

C#使用appSettings参数在app.config中编写connectionString

C#使用appSettings参数在app.config中编写connectionString,c#,entity-framework,connection-string,app-config,appsettings,C#,Entity Framework,Connection String,App Config,Appsettings,是否可以使用同一文件中的appSettings参数在app.config(在我的例子中是一些connectionString)中编写一些xml条目? 例如: <connectionStrings> <add name="MyContextDB" connectionString="Data Source =.;Initial Catalog = EFMyContextDB;Integrated Security = false;User Id=user;Passwo

是否可以使用同一文件中的
appSettings
参数在
app.config
(在我的例子中是一些
connectionString
)中编写一些xml条目? 例如:

  <connectionStrings>
    <add name="MyContextDB" connectionString="Data Source =.;Initial Catalog = EFMyContextDB;Integrated Security = false;User Id=user;Password=pwd" providerName="System.Data.SqlClient" />
  </connectionStrings>

  <appSettings>
    <add key="UserId" value="userValue" />
    <add key="Password" value="pwdValue" />
  </appSettings>

您当然可以看看如何使用
SqlConnectionStringBuilder
。将现有连接字符串传入构造函数。设置
密码
用户ID
属性。然后调用
ToString()

您将无法像那样为
DbContext
传递连接字符串。你可以考虑对工厂模式或类似的东西进行重构。


我也会考虑使用配置转换来在编译时实际更新配置文件。

你当然可以看看使用<代码> SqlConnectionStringBuilder < /代码>。将现有连接字符串传入构造函数。设置
密码
用户ID
属性。然后调用
ToString()

您将无法像那样为
DbContext
传递连接字符串。你可以考虑对工厂模式或类似的东西进行重构。


我也会考虑使用配置转换来在编译时实际更新配置文件。

使用SqlConnectionStringBuilder:

    System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(System.Configuration.ConfigurationManager.ConnectionStrings["MyContextDB"].ToString());

    builder.UserID = System.Configuration.ConfigurationManager.AppSettings["UserId"];
    builder.Password = System.Configuration.ConfigurationManager.AppSettings["Password"];
然后,要获取新的connectionstring:

builder.ToString();

使用SqlConnectionStringBuilder:

    System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(System.Configuration.ConfigurationManager.ConnectionStrings["MyContextDB"].ToString());

    builder.UserID = System.Configuration.ConfigurationManager.AppSettings["UserId"];
    builder.Password = System.Configuration.ConfigurationManager.AppSettings["Password"];
然后,要获取新的connectionstring:

builder.ToString();

这不是我说的吗?对不起,我没有看到你的评论。这不是我说的吗?对不起,我没有看到你的评论。