如何传递原始连接字符串

时间:2017-09-25 14:01:07

标签: entity-framework-6

我看到了很多类似的问题,但答案是一样的。

public class myContext(string connectionName) : base(connectionName)
{
}

问题是他们的所有答案都指定了从.config派生的连接NAME,如:

<connectionStrings>
    <add name="connectionName" 
         connectionString="data source=server\database;initial catalog=catalog;persist security info=True;user id=user;password=password;MultipleActiveResultSets=True;App=EntityFramework" 
         providerName="System.Data.SqlClient" /> 
</connectionStrings>

如果我想传递这样的内容怎么办

"Server=127.0.0.1;Database=sampleDB;User Id=foo; Password=bar"

或类似

"Server=127.0.0.1;Port=440;Database=mysqlDB;Uid=root; Pwd=root123;"

1 个答案:

答案 0 :(得分:2)

DbContext的c'tor采用名为nameOrConnectionString的字符串。

来自documentation

  

参数:
  nameOrConnectionString:
  数据库名称或连接字符串。

因此,您可以将两者,名称连接到连接字符串或直接连接字符串。

传递名称:

要将名称传递给DbContext(例如在您的web.config中),请写下以下内容:

new myContext("name=connectionName")

传递连接字符串:

要传递文字连接字符串,请编写如下内容:

new myContext("Server=127.0.0.1;Database=sampleDB;User Id=foo; Password=bar")