WMS—Wpf.MvvmLight.SelfHost
介绍
其实本人之前一直主攻Web前后端的开发,但是由于业务需要,今年开始被分到了公司的自动化项目组搬砖,主要负责上位机的开发。看着项目组中参差不齐的开发模式,也没有具体的便于开发人员使用的项目开发框架,遂产生了设计一种通用开发框架的想法,最终在第一次自动化项目的开发工作中孕育出了WMS(Wpf.MvvmLight.SelfHost)。
项目需求
- 宇宙最强IDE:Visual Studio 2019(推荐)/ Visual Studio 2022(偶尔遇到小Bug)
- .NET版本:.NET Framework 4.6.1
下载
Github: https://github.com/ForeverRG/Wpf.MvvmLight.SelfHost.git
快速了解
项目简介
Wpf.MvvmLight.SelfHost(简称WMS)是一款基于MVVMLight+SelfHost的WPF自动化项目便捷开发框架。
主要特性
- 自动生成代码功能(核心的四层项目类文件)
- 项目层层分明,注重解耦合
- 作为Web服务器,托管Web Api
- 集成常用的第三方库,并对部分进行二次封装,易使用与维护
- 附带自动化项目的业务处理模型
- …
技术选型
1.系统环境
- .NET Framework 4.6.1
2.核心
- WPF
- MVVMLight
- SelfHost
3.日志
- NLog
- Log4Net
- Seq
4.持久层
- SqlSugar
5.视图层
- MaterialDesign
- MahApps
快速开始
- 下载该项目,项目下载完成后,双击Wpf.MvvmLight.SelfHost.sln打开解决方案。
- 首先生成整个解决方案,看是否有出错,无报错后直接F5运行项目即可(注意:设置Wpf.MvvmLight.SelfHost为启动项目)。
- 运行起来后是个WPF项目,内部使用了一个轻量级的MVVM框架——MVVMLight,此外内部还通过SelfHost托管了Web Api,所以该应用也算是个小服务器,默认监听端口为9000。
- 项目中使用的是Sqlite数据库,项目运行起来后会在根目录的DB文件夹自动生成数据库。
- 双击根目录下的批处理文件CreateYourProject.bat,根据提示输入自己想要的项目名称,之后在根目录下会有一个.YourProject文件,里面则是你的项目。
- 项目启动后,点击主界面的"启动"按钮,开始监听TCP Server端口2022,此时点击左侧菜单中的"运行调试",切换到对应界面,点击相应的按钮,即可运行自带的Demo。
代码生成
在开发过程中,项目里其实有很多代码都是重复的,为了提高各位Coder的工作效率,让各位更专注于业务逻辑的开发,于是提供了代码自动生成功能。
CodeFirst
我在上述开始的步骤中有提到过,在项目运行后,根目录会自动生成了数据库文件,这里的自动生成其实就是CodeFirst模式。
- 更改数据库名称。打开Wpf.MvvmLight.SelfHost项目下的App.config文件,可以修改数据库名称,具体配置如下。
<connectionStrings>
<add name="SQLiteConnStr" connectionString="URControl.db" />
</connectionStrings>
- 新增实体类。在Wpf.MvvmLight.SelfHost.Model项目下新增自己想要的实体类,可以参考已有的实体进行添加,更详细的特性配置,可以参考SqlSugar官方文档进行学习。
- 自动创建表。在Wpf.MvvmLight.SelfHost.Repository项目下的DBSeed文件中,打开SQLiteDbContext.cs进行实体装载,在InitDB方法中添加新增的实体类型参数,添加完毕后再次启动应用,此时打开数据库,你就会发现里面新增了一个表,而那个表就是根据你新增的实体自动生成的。
public void InitDatabaseAndTables()
{
InitDB(false, 300,
typeof(ControlCenter),
typeof(PLC

WMS—Wpf.MvvmLight.SelfHost是一款基于MVVMLight+SelfHost的WPF自动化项目开发框架,支持自动生成四层项目文件,集成WebApi及常用第三方库。
最低0.47元/天 解锁文章
375





