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

如何使用EF框架操作Sqlite

1.下载相关的NuGet

 

 

 

 2.创建如下的项目结构

3.创建AppDbContext类

using Microsoft.EntityFrameworkCore;
using SaveSyetemConfiguration.Model;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SaveSyetemConfiguration.DBContext
{public class AppDbContext : Microsoft.EntityFrameworkCore.DbContext{// 数据库连接字符串(动态创建时可通过参数传入)private readonly string _connectionString;// 构造函数接收连接字符串(支持动态配置)public AppDbContext(string connectionString){_connectionString = connectionString;}// 实体集(对应数据库表)public Microsoft.EntityFrameworkCore.DbSet<PerSon> PersonData { get; set; } = null;// 重写 OnConfiguring 配置数据库选项protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){if (!optionsBuilder.IsConfigured){optionsBuilder.UseSqlite(_connectionString); // 使用 SQLite 提供程序}}}
}

4.创建对应的Model类

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SaveSyetemConfiguration.Model
{public class PerSon{[Key][DatabaseGenerated(DatabaseGeneratedOption.Identity)]public long ID { get; set; }public string Name { get; set; }public int Age { get; set; }}
}

5.在程序类进行简单的操作

using SaveSyetemConfiguration.DBContext;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SaveSyetemConfiguration
{internal class Program{static void Main(string[] args){string DbPath = @"D:\NowText";string connectionString = "通道1";try{Directory.CreateDirectory(DbPath);connectionString = $"Data Source={DbPath}\\{connectionString}.db";AppDbContext Db = new AppDbContext(connectionString);Db.Database.EnsureCreated();Db.PersonData.Add(new Model.PerSon(){Age = 1,Name = "张三"});Db.PersonData.Add(new Model.PerSon(){Age = 1,Name = "李四"});var count = Db.SaveChanges();}catch (Exception){}}}}

结果如下:

http://www.xdnf.cn/news/1240687.html

相关文章:

  • 多租户字典管理系统完整设计
  • TCP 协议的“无消息边界”(No Message Boundaries)特性
  • shell脚本tcpdump抓取数据解析执行关机指令
  • PyCharm代码规范与代码格式化插件安装与使用:pylint和autopep8
  • 质押和抵押有什么区别
  • 【Java】一篇详解HashMap的扩容机制!!
  • 2025年8月4日私鱼创作平台v1.0.4公测版更新发布-完成大部分功能包含关注创作者以及发布作品及合集功能优雅草科技
  • 音视频学习笔记
  • 深入解析 Apache Tomcat 配置文件
  • Planner 5D v2.29.0 安卓高级解锁版,手机3D家装,全套家具免费
  • 鸿蒙开发-端云一体化--云数据库
  • [spring-cloud: 负载均衡]-源码分析
  • Nginx服务做负载均衡网关
  • 【项目实践】在系统接入天气api,根据当前天气提醒,做好plan
  • 基于Java的AI工具和框架
  • 【异常案例分析】使用空指针调用函数(非虚函数)时,没有崩溃在函数调用处,而是崩在被调用函数内部
  • Android Telephony 框架与横向支撑层
  • Android JUnit 测试框架详解:从基础到高级实践
  • Flask + HTML 项目开发思路
  • 开源的现代数据探索和可视化平台:Apache Superset 快速指南 Quickstart
  • Android的UI View是如何最终绘制成一帧显示在手机屏幕上?
  • 阿里云-通义灵码:解锁云原生智能开发新能力,让云开发更“灵”~
  • 福彩双色球第2025089期篮球号码分析
  • 理解 JavaScript 中的“ / ”:路径、资源与目录、nginx配置、请求、转义的那些事
  • 超急评估:用提前计算分摊性能成本
  • go学习笔记:panic是什么含义
  • 工作流绑定卡片优化用户体验-练习我要找工作智能体
  • 豆包1.6+PromptPilot实战:构建智能品牌评价情感分类系统的技术探索
  • 基于Spring Cloud Gateway和Resilience4j的微服务容错与流量控制实战经验分享
  • Solidity智能合约开发全攻略