文章目录
- Sqlite安装使用
- Sqlite特点
- 环境安装
- EF 是什么?
- EF使用
- 举例
- Nuget控制台
Sqlite安装使用
Sqlite特点
Sqlite是轻量级数据库,不需要安装,跨平台使用。是用来做小软件,小项目,快速移植的最优解。不需要像mysql和Sqlserver一样先进行安装数据库,再进行使用。
环境安装
Net.Core =6.0
项目文件
- EF.Sqlite: Sqlite轻量级数据库,不需要安装,只需要引入Nuget包
- EF.Tool:数据库转移工具,.Net默认Sqlserver。这个是转移数据库管理对象,从Sqlserver转移到sqlite
- EF框架引入
EF 是什么?
EF是ORM实体关系数据库,什么是ORM?简单来说ORM就是我们程序运行的对象和数据库存储的对象是一致的。数据库只是我们运行的数据持久化的一个地方。数据库就是一个超级大,持久化的对象数组。
举例
EF使用
新建两个文件
- DbContext.cs:数据库对应类,用于进行sql操作
- DtName.cs:数据表对应类,用于设计数据表对应的字段,Id不需要
举例
数据库:MyToDoDbContext,继承DbContext
using Microsoft.EntityFrameworkCore;
namespace MyToDo.Api.Context
{
public class MyToDoContext:DbContext
{
public MyToDoContext(DbContextOptions<MyToDoContext> options):base(options)
{//继承DbContext建库方法
}
public DbSet<ToDo> ToDo { get; set; }
}
}
数据表对应实体:ToDo类
namespace MyToDo.Api.Context
{
public class ToDo
{
public string Title { get; set; }
public string Content { get; set; }
public int Status { get; set; }
}
}
在json中添加数据库连接串
{
"ConnectionStrings": {
"ToDoConnection": "Data Source=to.do"
},
...
}
在Program中设置,引用sqlite
builder.Services.AddDbContext<MyToDoContext>(options =>
{
//这个是我们在appsettings.json里面添加的数据库连接串
var connectionStr = builder.Configuration.GetConnectionString("ToDoConnection");
options.UseSqlite(connectionStr);
});
Nuget控制台
Nuget管理工具默认项目选择WebApi项目
我们在控制台中输入代码:Add-Migration MyToDo(你的管理器名称)
再输入Update-Database
如果你报了这个错误,记得看一下你的配置名字对不对的上
我们这里新建了一个数据库,那就是创建成功了