在运行时使用实体框架连接到 Sqlite 数据库

本文关键字:连接 Sqlite 数据库 框架 实体 运行时 | 更新日期: 2023-09-27 18:37:01

我想将我的项目连接到 Sqlite 数据库。所以,在我的数据库上下文中,我有这个构造函数和一个初始化方法

    private  DatabaseContext(string cnxString) : base(cnxString)
    {
        Database.SetInitializer<DatabaseContext>(new DatabaseInitialiser());
    }
    public static void initialize(string connx)
    {
        _instance = new DatabaseContext(connx);
    }

和 在程序中.cs我调用Inialize方法来设置连接字符串

DatabaseContext.initialize("data source=D:''storage.sqlite;");

因此,每个用户都可以通过传递他的连接字符串来连接到他的数据库。

但是,在运行我的应用程序时,我遇到此错误:

An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct.

在运行时使用实体框架连接到 Sqlite 数据库

您需要将

SQLite 连接对象传递给基构造函数:

private DatabaseContext(string cnxString)
    : base(new SQLiteConnection(cnxString), contextOwnsConnection: true)
{
}