LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

Windows系统桌面单机版软件该用啥数据库?别再让用户装 SQL Server 了,劝退一半客户

admin
2026年8月21日 16:47 本文热度 95
先讲个真事:我第一个库存软件,用 SQL Server。交付时客户问"啥是 SQL Server?怎么装?"——我写了 3 页安装说明,他还是装不上。最后这个项目,黄了。 一半客户,是被"先装个数据库"劝退的。

结论先给:Windows系统桌面单机版软件,首选 SQLite(配合 EF Core)。零安装、一个文件、随软件走。



01


本篇你将获得

  • 一张数据库选型对比表,一眼看清该选谁
  • EF Core + SQLite 的最小配置代码
  • 数据库文件放哪、迁移怎么做




02


选型对比:为什么是 SQLite

数据库
安装成本
适合场景
桌面端推荐
SQL Server
重(要装服务、配账号)
企业内网大系统
❌ 劝退客户
MySQL/PostgreSQL
中(要起服务)
服务端应用
❌ 多此一举
SQLite
零(一个 .db 文件)
单机桌面软件
✅ 首选
文本/JSON 文件
极简配置
⚠️ 并发差、无约束
SQLite 是文件型数据库:一个 .db 文件就是整个库,软件带走它就能跑,客户啥都不用装。



03


EF Core + SQLite 最小配置

基础设施层里,这样接上:
// ✅ Infrastructure/AppDbContext.cspublic class AppDbContext : DbContext{    public DbSet<Product> Products => Set<Product>();
    // 数据库连接串:指向一个文件,不用起服务    protected override void OnConfiguring(DbContextOptionsBuilder b)        => b.UseSqlite($"Data Source={DbPath}");
    // 数据库文件路径:放在用户可写目录    private static string DbPath        => Path.Combine(            Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),            "InventoryApp", "inventory.db");   // 例:C:\Users\你\AppData\Local\InventoryApp\inventory.db}
关键点:

  • UseSqlite(...) —— 用 SQLite 提供器,换数据库只改这一行
  • 文件放 LocalApplicationData —— 用户有权限写,重装软件也不丢

💡 第 8 篇说的"换数据库零改动界面",底层就靠这里:哪天要从 SQLite 换别的,只改 OnConfiguring 和依赖注入,上层毫无感知。



04


建库与迁移

开发时用 EF Core 迁移生成表结构:
dotnet ef migrations add Init      # 生成迁移dotnet ef database update          # 落到 .db 文件
上线时,软件首次启动检测库文件不存在就自动 Database.EnsureCreated()(或跑迁移),客户无感
⚠️ 避坑:别让客户手动建库/跑脚本。SQLite 文件随软件分发,首次启动自迁移,才是桌面端正确姿势。



05


我踩过的坑

📉 当初想:SQL Server 专业,客户公司应该有,用它能显得高级。
💥 后来:小客户根本没有 SQL Server,安装说明劝退一半人;连上的那几个还常遇"服务没启动"。
✅ 最终:全面切 SQLite + EF Core。交付变成一个文件夹,双击即用,再没人问"怎么装数据库"。


阅读原文:https://mp.weixin.qq.com/s/wMQEIjYmG7IaoHTp5xXGQQ


该文章在 2026/8/22 17:15:12 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-9  粤公网安备44030602007207号