将连接字符串传递给JetEntityFramework

时间:2019-10-17 18:11:01

标签: entity-framework ms-access entity-framework-6 jet-ef-provider

使用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的类似方法?

1 个答案:

答案 0 :(得分:0)

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

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

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