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

Sqlite EF For ConsoleCore

在跨平台开发中使用Sqlite EF 框架

1. 安装依赖包

install-package Microsoft.EntityFrameworkCore
install-package EntityFrameworkCore.Sqlite
install-package Microsoft.EntityFrameworkCore.Sqlite.Design
install-package Microsoft.EntityFrameworkCore.Tools

2.建立数据模型

using System.ComponentModel.DataAnnotations;
namespace EFCoreQuickStart.Models
{public class Book{[Key]public int BookId { get; set; }public string Text { get; set; }}
}

3.建立数据上下文

using Microsoft.EntityFrameworkCore;namespace EFCoreQuickStart.Models
{public class BookDbContext : DbContext{public DbSet<Book> Books { get; set; }protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseSqlite("Data Source=books.db");}}
}

4.迁移数据

(系统不会自动生成数据库,因此需要通过迁移命令来创建数据库文件)

Add-Migration InitalCreate
Update-Database

5.使用

using EFCoreQuickStart.Models;
using Microsoft.EntityFrameworkCore;namespace EFCoreQuickStart
{internal class Program{static void Main(string[] args){Console.WriteLine("Hello, World!");using (var db = new BookDbContext()) {Console.WriteLine("插入一条记录");db.Books.Add(new Book() { Text = "C#高级编程" } );Console.WriteLine("成功插入一条记录");try {db.SaveChanges();}catch (DbUpdateException ex){Console.WriteLine(ex.InnerException?.Message);}//查询Console.WriteLine("查询所有记录");var model = db.Books.OrderBy(b => b.BookId).First();Console.WriteLine(model.Text);//更新Console.WriteLine("更新一条记录");model.Text = "C#高级编程(第10版)";db.SaveChanges();Console.WriteLine("更新成功!");}}}
}
http://www.rkmt.cn/news/31251.html

相关文章:

  • 日记16
  • 应用安全 --- 在线可执行文件分析
  • 通过onvif ptz 控制摄像头以及通过opencv 实时进行数据处理
  • 【GitHub每日速递 251027】14.3k star! 告别AI开发痛点!Parlant让大模型指令遵循不再是难题
  • 百天打卡
  • 北の独自升级
  • What versions of Python still work in Windows XP?
  • Python 内存管理机制与垃圾回收技术解析
  • 随想随说
  • 在windows10系统上运行第一个SDL3项目
  • 搞跨端渲染?你绕不开的HarfBuzz原理
  • 2025年智能立体库货架厂家推荐排行榜,自动化立体仓库货架,智能仓储货架,重型立体库货架,高位立体库货架公司精选
  • Codeforces Round 1054 (Div. 3) - D、E
  • ​​ORourke 算法​​ 多边形的最小面积外接矩形 - MKT
  • 深入解析:MySQL进阶知识点(八)---- SQL优化
  • 102302106-陈昭颖-第一次作业
  • 详细介绍:Claude Sonnet 4.5:一次面向落地的常规升级(性能、安全、开发者工具)
  • 国庆集训day1~2笔记-动态规划
  • 详细介绍:【Linux】进程的概念和状态
  • vscode解决中文乱码
  • Minio外网访问内网上传的预签名url的方法以及报错原因
  • 【ESP32 在线语音】星火大模型
  • RT-Thread 之互斥量使用
  • AI元人文构想系列:从战略能力到价值对话的文明之路
  • Rig 项目深度分析报告
  • RT-Thread之创建线程
  • cias_voice_plyer_handle.c 解析
  • VirtualBox共享文件夹完全指南:实现Windows与Ubuntu无缝文件共享
  • WampServer下载安装教程(附安装包,图文并茂) - 指南
  • 《从 “被动听” 到 “主动学”:课堂听讲助力大学生思维成长》