相关疑难解决方法(0)

密码保护的SQLite与实体框架核心

我正在尝试创建一个受密码保护的SQLite数据库,以便在使用Entity Framework Core的WPF应用程序中使用它.

我找到了如何从现有的SQLite DB(数据库第一种方法)生成我的DbContext和实体,但我无法使用受密码保护的DB.

实际上,我甚至不确定如何创建受密码保护的SQLite DB.加密数据库和受密码保护的数据库有什么区别?

c# sqlite entity-framework-core

6
推荐指数
1
解决办法
5140
查看次数

无法在SQLite的Connection String中提供密码

我使用SQLite和Entity Framework.

我使用以下代码创建数据库:

class MyContext : DbContext
{   
    // DbSets, OnModelCreating(), etc.

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Data Source=c:\\test.db");
    }
}

//this is in my test method
 using (var db = new MyContext())
{
    db.Database.EnsureCreated();
}
Run Code Online (Sandbox Code Playgroud)

上面的代码有效.数据库被创建.但我想通过在连接字符串中提供密码来加密数据库:

optionsBuilder.UseSqlite("Data Source=c:\\test.db;Password=mypassword");
Run Code Online (Sandbox Code Playgroud)

在这种情况下,在EnsureCreated调用之后,我得到了异常

System.Data.dll中发生未处理的"System.ArgumentException"类型异常附加信息:不支持关键字:"password".

使用密码有什么问题?如何加密SQLite数据库?

c# sqlite entity-framework entity-framework-core

4
推荐指数
2
解决办法
3254
查看次数