pc端网站开发工具,php做的购物网站,网站大全软件下载,微信小程序制作公司排行榜C#使用SQLite 文章目录 C#使用SQLite涉及框架及库复制runtimes创建加密SQLite文件生成连接字串执行SQL生成表SQLiteConnectionFactory.cs 代码结构最后 涉及框架及库
自己在NuGet管理器里面安装即可
Chloe.SQLite#xff1a;ORM框架Microsoft.Data.Sqlite.Core#xff1a;驱…C#使用SQLite 文章目录 C#使用SQLite涉及框架及库复制runtimes创建加密SQLite文件生成连接字串执行SQL生成表SQLiteConnectionFactory.cs 代码结构最后 涉及框架及库
自己在NuGet管理器里面安装即可
Chloe.SQLiteORM框架Microsoft.Data.Sqlite.Core驱动SQLitePCLRaw.bundle_e_sqlcipherSQLite加密扩展
复制runtimes
主要复制两个dlle_sqlite3.dll与e_sqlcipher.dll 复制到项目根目录下保持原有的结构删除不使用的平台即可设置属性为如果较新则复制
dll文件查找位置主要是自己的nuget缓存目录中
或者自己去NuGet下载SQLitePCLRaw.lib.e_sqlite3和SQLitePCLRaw.lib.e_sqlcipher
然后用压缩软件打开即可获取到dll文件
创建加密SQLite文件
生成连接字串
使用SqliteConnectionStringBuilder类我们可以便捷的构建数据库连接字符串。
SqliteConnectionStringBuilder sqliteConnectionStringBuilder new SqliteConnectionStringBuilder();
sqliteConnectionStringBuilder.DataSource tanovo.db;
sqliteConnectionStringBuilder.Password 123456;
sqliteConnectionStringBuilder.Mode SqliteOpenMode.ReadWriteCreate;
SQLiteConnectionString sqliteConnectionStringBuilder.ToString();后续想在项目任何地方使用数据库只需要使用
using var db App.sqlite;获取数据库上下文对象即可。
执行SQL生成表
如果不至少生成一个表在库中的话则生成的数据库文件是非加密的可能只有数据库有数据时数据库才是加密类型的。
using var db App.sqlite;
db.Session.ExecuteNonQuery(CREATE TABLE IF NOT EXISTS test_table(id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT,update_time TEXT,cteate_time TEXT););SQLiteConnectionFactory.cs
提供一下这个工厂类方便伸手党直接复制了
using Chloe.Infrastructure;
using Microsoft.Data.Sqlite;
using System.Data;namespace TestSqliteC.DatabaseHelper
{public class SQLiteConnectionFactory : IDbConnectionFactory{string _connString null;public SQLiteConnectionFactory(string connString){this._connString connString;}public IDbConnection CreateConnection(){IDbConnection conn new SqliteConnection(this._connString);return conn;}}
}代码结构
因为我是WPF程序所以在App构造函数中对SQLite就进行初始化操作了。
最后
这里还推荐三个开源项目一个是嵌入式的NoSQL数据库一个是文件存储引擎都是同一个人开发的项目也很不错 最后一个是SQLiteStudio可以打开并浏览SQLite加密数据库文件提供图形化界面可以管理数据库文件。
LiteDBFileDBSQLiteStudio