Abp(net core)+easyui+efcore实现仓储管理系统目录

abp(net core)+easyui+efcore实现仓储管理系统——EasyUI前端页面框架 (十八)

 一、简介

微软从.NET 5开始进行.NET 统一计划,.NET 5是继3.1之后.NET Core的下一个主要版本。微软从名称中删除了“Core”,是为了强调这是 .NET未来的主要实现。与 .NET Core 或 .NET Framework 相比,.NET 5 会支持类型更多的应用和平台。.NET 5不会替换 .NET Framework。

.NET 6 提供 .NET 统一计划的最终部分,该计划在 .NET 5中启动。 .NET 6在移动、桌面、IoT 和云应用之间统一了SDK、基础库和运行时。除了这方面的统一以外,.NET 6 生态系统还提供了以下功能:

简化开发:轻松入门。 C# 10 中的新语言功能可减少需要编写的代码量。 利用 Web 堆栈和最小 API 的投资,可以轻松地快速编写更小、更快速的微服务。

更佳的性能:.NET 6 是最快的完整堆栈 Web 框架,如果在云中运行,则会降低计算成本。

终极工作效率:.Net 6 和 Visual Studio 2022 提供热重载、新的 git 工具、智能代码编辑、可靠的诊断和测试工具以及更好的团队协作。

.NET 7已经在2022年11月发布了,.NET8已经在路上了,预计将在今年的11月份发布。.NET小步快走,每年都在进步。

从2019年5月至2020年12月,花了一年半时间写了abp(net core)+easyui+efcore实现仓储管理系统系列文章。本系列是介绍基于ABP+EasyUI的Web开发框架的实现一个仓储管理系统的实例,主要包括一些ABP的介绍,ASP.NET MVC Core技术、EasyUI技术、JQuery技术、WebAPI 技术,以及一些我对整体框架改造的基础性东西,力求更加稳定、通用、高效、简洁,用最少的代码做尽可能多的事情。当时我所使用的ABP版本是4.3,是基于ASP.NET CORE 2.X的版本。

2年时间过去了,ASP.NTE CORE 2.x微软已经不在对其进行支持,已经结束了支持周期。我准备将ABP升级到7.3,这是基于NET6的一个版本,NET6是一个长期支持版本,其支持周期结束时间在2024年11月份。easyui升级到1.10.12。

做为IT从业人员,我们在不同的公司或相同的公司基于不同的需求创建着各种应用,这些应用都有一些通用和相似的结构。这些通用的结构包括授权,验证,异常处理,日志,本地化,数据库连接管理,设置管理,审计日志等。

我们在创建与实现各种应用时,都会试着应用各种新的最佳实践,比如分层和模块化架构,领域驱动设计(DDD),依赖注入等等。

ABP是一个开源的且文档友好的应用框架,它不仅仅是一个框架,更提供了一个基于DDD和最佳实践的健壮的体系模型。

接下来我们进行升级,在浏览器中输入https://aspnetboilerplate.com/Templates。然后依次按下图选择,输入验证码,之后点击“create my project”按钮。下载项目模板。

至于你是用新的项目模板替换旧的项目模板,还是将项目中的代码文件拷贝到新的项目中,这个就由你自己决定了。

 二、升级过程遇到的问题

接下来介绍一下升级过程中遇到的问题。

第一个问题,原来代码中我们使用的ABP基类提供的GetAll()、Create()、Update()此类方法 ,在ABP7.3中都已经不提供了,现在ABP7.3中提供的是异步方法,在以上方法上加上Async后缀。即GetAll()变为了GetAllAsync、Create()变为了CreateAsync、Update()变为了UpdateAsync。

第二个问题,用Visual Studio 2022打开了我们的ABP.TPLMS项目,在解决方案资源管理器中,将ABP.TPLMS.WEB.MVC项目设置为启动项目,按F5启动,浏览器中呈现的登录页面没有样式。如下图。整个登录界面在页面的左上角,不在页面的正中间,而且没有css。

这是由于ABP的客户端库,需要我们自己进行还原。在Visual Studio 2022的解决方案资源管理器中,找到ABP.TPLMS.WEB.MVC项目,在这个项目中有一个libman.json文件。

使用鼠标左键选中这个文件,然后单击鼠标右键,在弹出菜单中选择“还原客户端库”,如下图。在这个还原过程中,需要一直保持网络畅通。请对照此文件中的内容,查看wwwroot\libs目录下的所还原的客户端库是否完整。如果不完整,请再次进行还原。

客户端库还原成功之后,在Visual Studio 2022的解决方案资源管理器中,将ABP.TPLMS.WEB.MVC项目设置为启动项目,按F5键运行项目,浏览器中呈现的登录页面如下图。

第三个问题:AutoMapper 9版本之后取消了静态方法,所以造成了以下错误。

我首先想到的解决方法就是注入,将IMapper注入到这个类中,于是我在Visual Studio 2022 的解决方案资源管理器中,找到ABP.TPLMS.Application项目中的Modules文件夹中的ModuleAppService.cs文件,修改了ModuleAppService的构造方法 ,将IMapper注入。将代码中原来的Mapper.Map都修改为m_map.Map。编译是通过了,但是在后续的升级过程中却遇到了另外的一个问题,一个错误,这个问题在后续来解决。先按编译通过的方式来修改代码,具体代码如下:

public class ModuleAppService : ApplicationService, IModuleAppService
{ private readonly IRepository<Module> _moduleRepository; AutoMapper.IMapper m_map; public ModuleAppService(IRepository<Module> moduleRepository, IMapper map)
{ _moduleRepository = moduleRepository; m_map = map; } }

abp(net core)+easyui+efcore实现仓储管理系统——ABP升级7.3上(五十八)的更多相关文章

  1. abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之一(二十七)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  2. abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  3. 2019年7月16日 abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  4. abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  5. abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十二)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  6. abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十三)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  7. abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十四)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  8. abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十五)

    core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+e ...

  9. abp(net core)+easyui+efcore实现仓储管理系统——菜单 (十六)

    系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) ...

  10. abp(net core)+easyui+efcore实现仓储管理系统——菜单-下(十七)

    实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案 ...

随机推荐

  1. Dapper上传图片

    <h2>添加商品</h2> <table class="table table-bordered"> <tr> <td> ...

  2. Java字符串的一些函数方法

    一.substring()方法 String str="123456"; String s1=str.substring(2); //s1="3456" Str ...

  3. 证书profile 申请

    ios  云打包   证书 和密码  在之前的笔记当中已申请好 证书profile 文件申请 登录苹果开放平台 申请前要添加身份,设备,设备那需要填写udid 方法链接https://www.jian ...

  4. 未知:长度为 K 的重复字符子串

    给你一个由小写字母组成的长度为n的字符串 S ,找出所有长度为 k 且包含重复字符的子串,请你返回全部满足要求的子串的数目.   数据范围:  , 进阶: 时间复杂度,空间复杂度 输入例子1: &qu ...

  5. 第8章 使用标记帮助工具构建表单(ASP.NET Core in Action, 2nd Edition)

    本章包括 使用Tag Helpers轻松构建表单 使用锚标记帮助程序生成URL 使用Tag Helpers为Razor添加功能 在第7章中,您了解了Razor模板以及如何使用它们为应用程序生成视图.通 ...

  6. redis 配置哨兵模式时出现的问题(redis 版本 6.2.5)

    今天准备搭建一个 redis 集群(redis 版本 6.2.5),在这之前要先配置好哨兵模式. 但是在配置哨兵模式时出现了问题.之前没有搭建集群时(一主两从,三台虚拟机)可以顺利配置好,而搭建集群时 ...

  7. Linux_Shell脚本

    Shell脚本 shell基础 shell变量 shell扩展 shell基础 shell简介 1.什么是shell? shell是一种命令解释器 shell也是一种编程语言 shell,python ...

  8. net-snmp 自定义OID利用脚本获取值

    两种办法: 1)pass方式 /etc/snmp/snmpd.conf 写脚本 脚本需要注意:要连续输出三行:1.OID 2.类型 3.值 如果不按照这个规定,直接输出值,将会报错. 检查 第二种方法 ...

  9. 斐讯K2路由器刷机教程

    为了避免斐讯后门程序. 我用的win10系统 我刷的是华硕的老毛子 Padavan,我放的是压缩包,请解压到桌面! 下载地址: 链接:https://pan.baidu.com/s/1O_spSek- ...

  10. hdu:Two Rabbits(区间DP)

    Problem DescriptionLong long ago, there lived two rabbits Tom and Jerry in the forest. On a sunny af ...