Sqlite使用EFCore Code First记录说明
应用程序为.Net 5.0
数据库类库为.Net Standard 2.1
包的安装
- Microsoft.Data.Sqlite
- Microsoft.EntityFrameworkCore.Sqlite
- Microsoft.EntityFrameworkCore.Tools
其中第二个是EFCore提供对Sqlite的支持,第三个是迁移时需要用到
DbContext的配置
public class SmartPosContext : DbContext
{
public DbSet<PosParameter> Parameter { get; set; }
public SmartPosContext()
{
//Database.MigrateAsync();
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//应用映射
modelBuilder.ApplyConfiguration(new PosParameterMap());
base.OnModelCreating(modelBuilder);
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "/Database/database.db");
base.OnConfiguring(optionsBuilder);
}
}
其中应用Sqlite的是重写方法OnConfiguring中的optionsBuilder.UseSqlite()方法,构造中是我测试的自动迁移,OnModelCreating方法中,可以自定义配置映射,
我这里使用了自定义映射配置,也可以不用
数据迁移(CodeFirst的灵魂
编写好自己的实体类,例如
public class PosParameter : Base
{
/// <summary>
/// 参数名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 参数值
/// </summary>
public string Value { get; set; }
}
- 打开程序包管理器控制台
- 并将默认项目选择为该类库(这步是必须的
- 执行数据库迁移<
add-migration init
执行之后,会自动生成迁移文件
update-database
执行之后,会自动将本次的修改迁移到数据库
中间可能会遇到一些小问题,但都是可以根据提示解决的。
标签:
Code First
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构