.net6 WinForm EF7 sqlite 做成一个exe执行文件

1、参与使用的多个外部包

VS2022中建一个WinForm桌面应用(非Framework),nuget中加入如下包:

Costura.Fody

Microsoft.EntityFrameworkCore.Sqlite

Microsoft.EntityFrameworkCore.Tools

XPTable

2、Sqlite数据库文件

放一个car.db数据库文件在项目根目录,这样VS2022编译时会直接找到这个数据库;但是注意,如果不使用VS2022,而且直接执行程序,比如在debug文件夹中,需要把car.db文件放到该目录下。

3、EF7自动建立ORM的model,只需要一条命令:

Scaffold-DbContext "Data Source=car.db" Microsoft.EntityFrameworkCore.Sqlite -OutputDir Models -UseDatabaseNames -DataAnnotations -Force

4、在代码中使用sqlite数据库:

**5、编译运行程序:**可以看到其它文件还有很多,甚至还有一个runtimes目录,这个里面还有很多很多sqlite的类库文件。

6、发布成一个exe执行文件

1)用记事本打开.csproj项目配置文件,添加一行参数 <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>

2)使用发布功能,发布单文件执行程序。

3)到发布目录查看,只有一个执行文件和sqlite数据库文件。

相关推荐
武藤一雄1 天前
19个核心算法(C#版)
数据结构·windows·算法·c#·排序算法·.net·.netcore
旡心-小小康1 天前
.NET WebSocket Socket
websocket·网络协议·.net
wenha2 天前
踩坑记录:UTF-8、UTF-8-BOM 与 GB2312 读取的乱码真相
utf-8·.net·编码·utf-8-bom
江沉晚呤时2 天前
C# 整型溢出处理机制:checked 与 unchecked 上下文解析
c#·.net
余衫马2 天前
在 Windows 服务中托管 ASP.NET Core Web API (.net6)
运维·windows·后端·asp.net·.net
步步为营DotNet2 天前
LM-Kit.NET:.NET 生态一站式本地 AI 开发平台
人工智能·.net
步步为营DotNet2 天前
.NET 实战 LlamaSharp:本地运行开源大模型
.net
CSharp精选营2 天前
推荐一个开箱即用的.NET权限管理平台:Magic.NET
.net·开源项目·权限管理·企业级框架·后台脚手架
切糕师学AI3 天前
.NET CLR GC 调优完全指南:从理论到生产实战
.net·gc·clr
唐青枫3 天前
C#.NET TaskCompletionSource 深入解析:手动控制 Task、桥接回调事件与实战避坑
c#·.net