我正在处理使用 EntityFramework 和从 DbContext 派生的对象的 C# 应用程序。创建 MyDbContext 对象的新实例时,我需要以编程方式设置连接字符串。为此,我使用以下代码:
public MyDbContext(string myString)
{
this.Database.Connection.ConnectionString = myString
}
myString = "Server=MYSERVER\\SQLEXPRESS; Database=MyDB; User ID=user; Password=pass;";
or
myString = "Data Source=|DataDirectory|\\AirecCalcDatabase.sdf";
这两个字符串的数据库提供程序不同。第一个是 SQLExpress,第二个是 SQLCompact。如果我尝试使用第一个字符串运行此代码,我会从连接字符串中得到 ArgumentException。例如“关键字无效:服务器”以及“关键字无效:数据库”。连接字符串在使用不带参数的 DbContext 时有效,即从 app.config 读取字符串