保护EntityFramework核心应用程序使用的SQLite数据库

我正在尝试使用EntityFramework Core 1.0(EntityFramework 7的新名称)来管理C#Desktop应用程序中的SQLite数据库。

我阅读官方文档和我的测试应用程序。

我的问题是:密码保护数据库是否可能?

我知道有很多方法可以做到这一点,它也存在允许这样做的.NET类System.Data.SQLite,但是如何使用EFCore 1呢?

我无法理解是否有可能。

感谢帮助,

恩里科

使用EntityFramework Core 2.0(EFCore 2.0),可以使用加密的SQLite数据库。

将SQLite加密(SQLCiher)数据库与EFCore一起使用的步骤

  1. 在项目中添加Microsoft.EntityFrameworkCore.Design的引用。

  2. 添加Microsoft.EntityFrameworkCore.Sqlite.Core的引用。 这是非常重要的一步。 不要添加Microsoft.EntityFrameworkCore.Sqlite的引用。 否则它将无法工作。

  3. 添加SQLitePCLRaw.bundle_sqlcipher的引用。 对于加密,它是必需的。 添加以下行ExcludeAssets =“All”很重要,否则它将无效。 有关详细信息,请参阅以下链接http://www.bricelam.net/2016/06/13/sqlite-encryption.html

    从Github下载工作示例

EF Core使用Microsoft.Data.Sqlite,它目前不支持开箱即用的加密。 请参阅https://github.com/aspnet/Microsoft.Data.Sqlite/issues/184 。 您可以使用SQLite扩展自己添加加密。

这篇文章有点旧,但我找到了解决这个问题的方法。

看一看。