繁体   English   中英

传递动态连接字符串以使用 EF 6 执行数据库操作

[英]Pass dynamic connection string to perform DB operation using EF 6

我创建了一个 Web API 并使用 Entity Framework 6 进行 DB 操作,我有以下逻辑从 DB 获取数据。

<connectionStrings><add name="DB" connectionString="server=DESKTOP-DB; uid=sa;pwd=111111;database=EmpDB;" providerName="System.Data.SqlClient" /></connectionStrings>

public void SaveData(string data1, long data2){
DatabaseProviderFactory factory = new DatabaseProviderFactory();
Microsoft.Practices.EnterpriseLibrary.Data.Database db = factory.Create("DB");
DbCommand dbCommand = db.GetStoredProcCommand("EmpSave");
using (DbConnection connection = db.CreateConnection())
{
    DbTransaction trans = null;
    try
    {
        trans = connection.BeginTransaction();
        db.AddInParameter(dbCommand, "@EMPID", DbType.Int64, data2);
        db.AddInParameter(dbCommand, "@name", DbType.String, data1);
        db.ExecuteNonQuery(dbCommand, trans);
        trans.Commit();
    }
    catch (Exception ex)
    {
        trans.Rollback();
        throw ex;
    }
    finally
    {
        trans.Dispose();
        connection.Close();
    }
}
}

现在我想使用动态连接字符串进行数据库操作,意味着在请求中我将收到一个参数,根据参数值我将从 DB/XML 中检索连接字符串并在数据库操作中使用相同的数据,因此数据将基于值存储请求中收到的参数。

关于如何使用上述逻辑实现这一目标的任何想法?

假设您的连接字符串在 app.config 中,名称为“DB”。 您可以使用以下方法:

if(parameter1)
{ 
   string connString = ConfigurationManager.ConnectionStrings["DB"].ConnectionString;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM