.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数据库文件。

相关推荐
luming-029 小时前
java报错解决:sun.net.utils不存
java·经验分享·bug·.net·intellij-idea
步步为营DotNet13 小时前
深度解析.NET中MemoryCache:高效缓存策略与性能优化的关键
缓存·性能优化·.net
玩泥巴的13 小时前
基于.NET操作Excel COM组件生成数据透视报表
c#·.net·excel·二次开发·com互操作
用户72278681234414 小时前
记一次 .NET 某RFID标签打印客户端 崩溃分析
.net
桑榆肖物16 小时前
使用.NET实现企业微信应用接入:域名验证与消息处理
microsoft·.net·企业微信
数据的世界0116 小时前
C#权威指南第1章:.NET体系结构
c#·.net
唐青枫16 小时前
深入理解 Volatile:C#.NET 内存可见性与有序性
c#·.net
为自己_带盐1 天前
从零开始玩转 Microsoft Agent Framework:我的 MAF 实践之旅-第二篇
后端·microsoft·ai·.net
步步为营DotNet1 天前
深度剖析.NET 中IConfiguration:灵活配置管理的核心枢纽
前端·网络·.net
Crazy Struggle1 天前
C# 不依赖 OpenCV 的图像处理算法:滤波、锐化与边缘检测
.net·开源项目·winform