首先需要安装DapperMicrosoft.Data.Sqlite 的包,注意不要直接安装Microsoft.Data.Sqlite.Core 这个包不包含原生动态链接库,因此无法直接使用。

如果遇上下文错误,就可以检查下是否错用了包Microsoft.Data.Sqlite.Core

You need to call SQLitePCL.raw.SetProvider(). If you are using a bundle package, this is done by calling SQLitePCL.Batteries.Init().”

接着就非常简单了,先新建一个和表格对应的实例类来映射表中的字段。

假设我的表结构是这样的,

CREATE TABLE Blog (Id INTEGER PRIMARY KEY AUTOINCREMENT,Title TEXT,Description TEXT);

那么就定义以下类来映射数据

public class Blog
{
    public int Id { get; set; }
    public string? Title { get; set; }
    public string? Description { get; set; }

    public override string ToString()
    {
        return $"User Id={Id}, Title={Title}, Description={Description}";
    }
}

查找数据
新建一个Sqlite的链接对象,并在其上做查询操作。Dapper会自动地帮我们映射同名的属性

string query = "SELECT * FROM Blog;";
List<Blog> blogs = connection.Query<Blog>(query).ToList();

更新数据

Blog blog = new Blog { Id = 1, Title = "New", Description = "New" };
string updateQuery = "UPDATE Blog SET Title=@Title, Description=@Description WHERE Id =@Id";
connection.Execute(updateQuery, blog);

增删改查其他都是类似的,就不多记录了。后面有机会记录更多表连接,外键的相关操作。

参考链接

  1. .netcore 打开SQLite数据库失败:You need to call SQLitePCL.raw.SetProvider(). If you are using a bundle package, this is done by calling SQLitePCL.Batteries.Init().”
  2. https://github.com/DapperLib/Dapper