如何传递原始连接字符串
问题描述:
我看到很多类似的问题,但答案是一样的。如何传递原始连接字符串
public class myContext(string connectionName) : base(connectionName)
{
}
的问题是他们所有的答案指定从他们的.config衍生就像一个连接名称:
<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;"
答
DbContext
的c'tor采用名为nameOrConnectionString
的字符串。
参数:
nameOrConnectionString:
无论是数据库的名称或连接字符串。
因此,您可以同时传递名称到连接字符串或直接连接字符串。
传递一个名字:
传递一个名字DbContext
(例如,在你的web.config),写类似:
new myContext("name=connectionName")
传递一个连接字符串:
要传递文字连接字符串,请写下如下内容:
new myContext("Server=127.0.0.1;Database=sampleDB;User Id=foo; Password=bar")
打我半秒。 – Strikegently
但我如何告诉构造函数,它是一个原始连接字符串,而不是一个命名的? – anaval
@anaval我已经在我自己的项目中添加了关于如何执行此操作的示例。 –