0

使用 System.Data.SqlClient 提供程序,可以将连接字符串传递给 DbContext 构造函数,如下所示;

    public DataContext() //DbContext
    {
        string ConnString = "Connection String Here";
        this.Database.Connection.ConnectionString = ConnString;   

        Database.SetInitializer<DataContext>(null);
    }

是否有类似的方法可以在不使用 app.config 设置的情况下将连接字符串传递给 JetEntityFrameworkProvider 的 DbContext?

4

1 回答 1

0

在您的代码中,该语句Database.Connection.ConnectionString = ConnString;创建一个 Database.Connection 使用App.Config(在您的情况下可能是 SQL Server)而不打开它。然后设置刚刚创建的连接的 ConnectionString,它是一个 SQL Server 连接。您可以更改App.Config并始终创建一个JetConnection,或者,如果您需要连接到不同的数据库类型,您可以使用不同的 DbContext 重载

public Context(DbConnection connection)
    : base(connection, true)
{ }

要使用此重载,与 Microsoft Access 数据库的连接必须是 JetConnection。

于 2019-10-20T09:23:51.370 回答