当前位置: 首页 > news >正文

海口分类信息网站专业的网站建设公司

海口分类信息网站,专业的网站建设公司,wordpress 验证密码,网站开发新功能SQLite是一种流行的开源关系型数据库,它的设计目标是提供轻量级、高效、可靠和易用的数据存储服务。由于SQLite无需单独的服务器进程,它通常被用于嵌入式系统和单机应用程序中,也可以用于网络应用程序的辅助数据库。 今天给大家推荐一个.NET开…

SQLite是一种流行的开源关系型数据库,它的设计目标是提供轻量级、高效、可靠和易用的数据存储服务。由于SQLite无需单独的服务器进程,它通常被用于嵌入式系统和单机应用程序中,也可以用于网络应用程序的辅助数据库。
今天给大家推荐一个.NET开发的 SQLite ORMSQLite-net,非常好用,性能也很棒!

关于 SQLite-net
SQLite-net 是一个快速、便捷的数据库层。它的设计遵循以下目标:

  • 非常易于与现有项目集成,并且可以在所有 .NET 平台上运行。
  • 快速高效,对SQLite没有任何性能上的影响
  • 参数化执行CRUD 操作和查询,从而无需担心 SQL 注入等安全问题。
  • SQLite-net 使用一个小型反射驱动的 ORM 层,所以无需对当前使用的实体类进行任何重大更改。

安装SQLite-net

.NET CLI方式:

dotnet add package sqlite-net-pcl

Package Manager方式:

Install-Package sqlite-net-pcl

定义实体类:

public class User
{[PrimaryKey, AutoIncrement]public int Id { get; set; }public string Name { get; set; }
}

SQLite-net 提供两种 API 来执行数据库操作:同步 API 和异步 API。同步 API 会阻塞当前线程,直到数据库操作完成。异步 API 不会阻塞当前线程,而是允许线程继续执行其他任务,直到数据库操作完成。

同步API使用:

// Get an absolute path to the database file
var databasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "MyData.db");var db = new SQLiteConnection(databasePath);
db.CreateTable<User>();

上面代码可以创建在数据库中,自动创建表User

添加、更新和删除

using (var db = new SQLiteConnection("MyData.db")) {// 添加var user = new User { Name = "张三" };db.Insert(user);// 读取var users = db.Table<User>().ToList();// 更新var userToUpdate = db.Get<User>(1); userToUpdate.Name = "张三222";db.Update(userToUpdate);// 删除var userToDelete = db.Get<User>(2); db.Delete(userToDelete);
}

使用SQL 执行命令和查询

db.Execute ("insert into User(Name) values (?)", "李四");
var user_model = db.Query<User> ("select * from User where Id=?",3);

异步API使用
与同步API使用类似

using (var db = new SQLiteConnection("MyData.db")) {//创建表await db.CreateTableAsync<User>();// 添加await db.InsertAsync(new User { Name = "张三" });// 查询var users = await db.Table<User>().ToListAsync();// 更新var userToUpdate = await db.GetAsync<User>(1); userToUpdate.Name = "张三222";await db.UpdateAsync(userToUpdate);// 删除var userToDelete = await db.GetAsync<User>(2); await db.DeleteAsync(userToDelete);
}

加密支持

加密一直是 SQLite 的一个重要问题,数据库加密在一定程度上可以保护数据,防止其他人直接访问数据库。SQLite-net 可以通过 sqlite-net-sqlcipher加密数据库

sqlite-net-sqlcipher包安装:

.NET CLI方式

dotnet add package sqlite-net-sqlcipher

Package Manager方式

Install-Package sqlite-net-sqlcipher

安装完成后,在连接数据库的时候, 密码需要在传递给连接构造函数时设置。

var options = new SQLiteConnectionString(databasePath, true,key: "password");
var encryptedDb = new SQLiteAsyncConnection(options);

如果需要设置加密 pragma,可以将操作传递给连接字符串。

var options2 = new SQLiteConnectionString (databasePath, true,key: "password",preKeyAction: db => db.Execute("PRAGMA cipher_default_use_hmac = OFF;"),postKeyAction: db => db.Execute ("PRAGMA kdf_iter = 128000;"));
var encryptedDb2 = new SQLiteAsyncConnection (options2);

sqlite-net代码地址:https://github.com/praeclarum/sqlite-net

http://www.ds6.com.cn/news/2487.html

相关文章:

  • 什么类型的网站比较容易做搜索引擎seo关键词优化方法
  • 网站的登录弹窗怎么做宁波seo在线优化方案公司
  • 网站建设考核标准重庆网站关键词排名
  • ps模板网站搜索引擎营销的优势和劣势
  • 网站设计的公司logo含有友情链接的网页
  • 必应网站建设汕头seo网络推广服务
  • 福田网站建设设计网站怎么优化seo
  • 河北网站制作公司报价成都seo排名
  • 成都有哪些做网站开发的大公司哪个公司的网站制作
  • 手机网站模板 html5 下载工具b站推广在哪里
  • 手机网站建设多少钱百度代发排名
  • 免费心理咨询热线24小时学seo需要多久
  • 老薛主机做电影网站引流推广方案
  • 做变态手术视频网站小程序免费制作平台
  • 做海报的参考网站百度指数专业版app
  • 网上做家教兼职哪个网站关键词网站排名软件
  • 贵阳做网站 优帮云济南百度快照推广公司
  • 巴里坤网站建设网站seo设计方案案例
  • 模块化wordpress企业主题seo推广任务小结
  • 优化网站济南seo网站关键词排名
  • 网站从域名工具刷网站排刷排名软件
  • 局机关建设网站的意义百度网盘登陆入口
  • 为什么要选择高端网站定制网页设计素材网站
  • 网站的维护和推广宁波seo推广优化
  • 定制营销型网站做网站建设的公司
  • 乐清营销网站网站在线生成app
  • 网站服务器有哪些类型有哪些类型有哪些类型有哪些泰州seo推广公司
  • 英文网站建站竞价托管推广代运营
  • 在国外网站做中国旅游推广百度app 浏览器
  • 做网站推广电话私人做网站