• EFCore 使用Sqlite(带加密)


    1. 创建加密和Sqlite 数据库(已存在的数据我按网上的教程试过.没成功)

      1. 安装依赖 

              --这是连接驱动 

        Microsoft.Data.Sqlite.Core

            --这个是加密需要用到的

                 SQLitePCLRaw.bundle_e_sqlcipher

          2. 创建有密码的数据库

        var connStr = @"Data Source=D:aSqLiteDAB.db;";//连接字符串
                var conn = new SqliteConnectionStringBuilder(connStr)
                {
                    Mode = SqliteOpenMode.ReadWriteCreate,
                    Password = "password"
                }.ToString();
    using(var connection = new SqliteConnection(conn))
    {
     connection.Open();
                    var com = connection.CreateCommand();
                    com.CommandText = @"CREATE TABLE Users (
        ID INTEGER PRIMARY KEY AUTOINCREMENT,
        UserName TEXT(16),
        CreateTime TEXT NOT NULL
    );";
                    com.ExecuteNonQuery();
    }

    注意. 建好加密数据库后需要建一个表才有效.空库依然可以不使用密码连接( 已存在的连接不受影响, 在测试中有过几次能连上库但打开表时提示不是有效的数据库 , 表里添加数据后就正常了)

    3. 在ef 中使用

         添加依赖

           Microsoft.EntityFrameworkCore

           Microsoft.EntityFrameworkCore.Sqlite

       --如果没有添加以下包则在字符串添加密码会提示不支持password  如: You specified a password in the connection string, but the native SQLite library 'e_sqlite3' doesn't support encryption.”

          SQLitePCLRaw.bundle_e_sqlcipher

         以上添加完成就可以正常使用了,别忘了在连接中添加 Password=你的密码 

    或许还有更新方便的方法来做.这里就先只记录目前试了行之有效的一种方式 

  • 相关阅读:
    下载文件c#
    系统蓝屏重起:如何修改设置,记录系统蓝屏重起的错误
    Repeater中的行数
    2010617 重装系统遇到的问题
    ajax 修改select的值 返回的值中有逗号
    GPS数据接收 串口调试感受
    Nios II实用之音频控制
    【笔记】VB控件MSComm功能介绍
    【摘】程序员版同桌的你
    AJAX Control Toolkit ——DragPanelExtender(拖拽面板)
  • 原文地址:https://www.cnblogs.com/itstac/p/15161391.html
Copyright © 2020-2023  润新知