ABP Framework V4.4 RC 新增功能介绍


新增功能概述

•启动模板删除 EntityFrameworkCore.DbMigrations 项目•CMS-Kit 模块新增 动态菜单管理 功能•对象扩展管理系统新增两个扩展方法:MapEfCoreDbContext MapEfCoreEntity,分别对 数据上下文和实体 自定义映射配置。•文本模板系统新增 Razor 模板引擎 支持。•ABP CLI 新增3个命令:abp install-libs abp prompt abp batch 。

关注 ABP Framework 最新开发进度,后面还会陆续发布新功能详解新功能示例等系列文章,敬请关注! ABP Framework 研习社(QQ群:726299208) 专注 ABP Framework 学习,经验分享、问题讨论、示例源码、电子书共享,欢迎加入!

启动模板删除 EntityFrameworkCore.DbMigrations 项目

在这个版本中,对应用程序的启动解决方案模板做了一个重要改变:

原模板解决方案包含 EntityFrameworkCore.DbMigrations 项目,该项目中包含 单独的DbContext类,负责数据库迁移。

v4.4版本中,我们决定从解决方案中删除了这个项目。在新的解决方案结构中,将 EntityFrameworkCore 项目用于数据库迁移。

除了使 DbContext 统一外,使用了新的ReplaceDbContext属性,替换了IIdentityDbContextITenantManagementDbContext接口,以使这些模块能够轻松地对仓储进行连接查询。

CMS-Kit 动态菜单管理

CMS Kit是一系列可重用 CMS 系统功能模块。当前版本添加新功能:动态添加菜单,可以导航到任何页面或Url。

CMS Kit 管理页面 /Menus 进行菜单管理。

发布网站显示菜单

截图使用的是 ABP Commercial 版本,此功能同时包含在 ABP Framework CMS Kit 应用模块中(主题不同)。

Razor引擎对文本模板的支持

文本模板[1]是通过使用模型(数据)和模板在运行时生成内容的系统。它是在Scriban[2]模板引擎上运行的。从这个版本开始,模板引擎我们有了第二个选择:可以使用熟悉的 razor 语法来构建和渲染模板。参见文本模板Razor集成[3]文档,开始使用新的引擎。

DbContext/Entities 新的定制点

ObjectExtensionManager.Instance中增加了两个新的扩展方法: MapEfCoreEntity MapEfCoreDbContext,以重写预建应用模块[4]的 EF Core 映射。

示例:更改 IdentityDbContext 的映射以重写 IdentityUser 实体的映射

ObjectExtensionManager.Instance.MapEfCoreDbContext<IdentityDbContext>(modelBuilder =>
{modelBuilder.Entity<IdentityUser>(b =>{b.ToTable("MyUsers");b.Property(x => x.Email).HasMaxLength(300);});
});

启动模板包含 YourProjectNameEfCoreEntityExtensionMappings 类,用来添加上述代码。

ABP CLI 新命令

ABP CLI在v4.4引入新命令:

abp install-libs命令用于 MVC/Razor Pages和 Blazor Server 应用程序,用于恢复 wwwroot/libs 文件夹。之前我们是通过运行 yarn 和 gulp 命令来恢复该文件夹。虽然 install-libs 命令仍然使用 yarn(如果有的话,如果没有呢?),但不再需要使用 gulp 了。•abp prompt命令可以用来打开 ABP CLI 的提示,并运行多个命令,而不需要每次都指定 abp 命令。例如,如果你运行abp prompt,那么你可以直接运行install-libs而不是abp install-libs。使用exit来从 ABP提示符 中退出。•abp batch命令可用于用一个命令运行多个ABP命令。准备一个文本文件,将每个命令写成一行(没有abp命令前缀),然后执行abp batch <batch-file>,比如:abp batch your_commands.txt命令来执行该文件中的所有命令。

新增 appsettings.secrets.json 配置文件

在启动模板中添加了 appsettings.secrets.json 配置文件,用来保护你的敏感/机密配置信息。在源码控制中忽略这个文件(如果你使用git,通过添加到.gitignore),并且只在开发和部署环境中保留它。

ABP Framework 其他改进

#9350 提取了IRemoteServiceConfigurationProvider以获得远程服务配置。可以替换该服务实现从任何来源获得配置。•#8829 为分布式事件总线实现了错误处理和重试。 #9288 在启动模板中使用默认的CORS策略,而不是一个命名策略。建议更新自己的方案,使之更简单。•框架和模块的本地化提供:印度语、意大利语、芬兰语、法语和斯洛伐克语。

除此以外,还有很多改进和错误修复。请参阅4.4-预览里程碑[5],了解该版本修复的所有问题和合并的推送。

项目中需要用到工作流,可以看看这篇文章:《基于 ABP Framework 使用 Elsa 工作流》[6]

发布免费电子书:《Implementing Domain Driven Design》

六月初,为ABP社区出版了一本免费电子书。这是一本实施领域驱动设计(DDD)的实用指南。

中文版已翻译完成,为了大家方便阅读,整理成了电子书 《基于ABP Framework 实现领域驱动设计》中文完整版_v1.0_iEricLee译

请入群:ABP Framework 研习社(QQ群:726299208)在共享文件中下载

新主题预告:LeptonX Theme

即将发布新主题,命名为LeptonX。该主题适用于 ABP Framework(免费精简版)和 ABP Commercial(商业专业版)。大概要等几周发布第一个版本。

重点介绍免费精简版 LeptonX-lite ,将包含专业版所具有的大部分基本功能组件

精简版和专业版之间的一些区别:

•导航栏:移动标签导航栏只在专业版提供。在精简版中,用一个汉堡包菜单替换。•页面布局:精简版将只发布侧面菜单布局,未来可能发布更多的布局,因为基础设施可使开发和替换布局变得容易。•主题颜色:在专业版提供不同颜色选项和在运行时改变颜色的能力。精简版使用暗色构建。

详细信息参看介绍文档[7]

关于下一版本

下一个主要版本:5.0,将基于 .NET 6.0 ,预计在2021年底发布。计划将在RC版本之前发布多个预览/Beta版本。有关5.0版本的计划细节,请参见路线图[8]

References

[1] 文本模板: https://docs.abp.io/en/abp/4.4/Text-Templating
[2] Scriban: https://github.com/scriban/scriban
[3] Razor集成: https://docs.abp.io/en/abp/4.4/Text-Templating-Razor
[4] 预建应用模块: https://docs.abp.io/en/abp/latest/Modules/Index
[5] 4.4-预览里程碑: https://github.com/abpframework/abp/milestone/52?closed=1
[6] 《基于 ABP Framework 使用 Elsa 工作流》: https://community.abp.io/articles/using-elsa-workflow-with-the-abp-framework-773siqi9
[7] 介绍文档: https://volosoft.com/blog/introducing-the-lepton-theme-next-generation
[8] 路线图: https://docs.abp.io/en/abp/latest/Road-Map

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文排版怕翻车?这个排版神器赶紧用起来!

论文的重要加分点除了内容&#xff0c;还有它相信每年临近准备毕设或者毕业论文的同学会遇到这些问题&#xff1a;“我的毕业论文提交一次就被导师批评一次&#xff0c;内容不行就算了&#xff0c;格式也有问题&#xff01;改论文改到绝望”“期刊的版式要求不是统一的&#xf…

[正则表达式] 可以解析HTML/XHTML页面的所有元素和结构的Regular Expression![ZT]

ZT: http://www.cnblogs.com/Laser_Lu/archive/2005/04/21/142605.html哈哈&#xff0c;继 昨天的那个正则表达式 之后又写了一个更长的Regular Expression&#xff0c;全长527&#xff0c;是用于查找出所有的XHTML/HTML的标记外面的所有空格&#xff0c;并将之转换为 的。 希望…

我用段子讲.NET之依赖注入(一)

我用段子讲.NET之依赖注入&#xff08;一&#xff09;1&#xff09;西城的某个人工湖畔&#xff0c;湖水清澈见底&#xff0c;湖畔柳树成荫。人工湖往北&#xff0c;坐落着两幢写字楼&#xff0c;水晶大厦靠近地铁站&#xff0c;由于为了与湖面天际线保持一致&#xff0c;楼层只…

.net core 嵌入 js(javascript)脚本引擎

漂亮的目录1、万能的脚本2、内部嵌入引擎方式3、调用NodeJs服务&#xff0c;与之通信方式结论1、万能的脚本折腾无止境&#xff0c;.net core 提供了更多的可能&#xff0c;今天我们就来看看脚本引擎。提起脚本&#xff0c;不得不说说Javascript——WEB互联网世界的一大半江山都…

用一个小球揭开地球的面纱,探索地球运转的秘密!

一个人一旦对某事物有了浓厚的兴趣&#xff0c;就会主动去求知、去探索、去实践&#xff0c;并在求知、探索、实践中产生愉快的情绪和体验。所以&#xff0c;古今中外的教育家无不重视兴趣在智力开发中的作用。小木之前推荐过一款AR地球仪&#xff0c;它是一个互动性强、内容丰…

Eclipse C++的配置问题launch failed binary not found

首先下载eclipse c 我的是64bit版本 安装好MinGW&#xff0c;并配置好环境变量&#xff0c;参考我的博客 http://www.cnblogs.com/fickleness/p/3273044.html 配置eclipse 选executable,选mingw gcc .按make toolchain(s) preferred.ok 配置好关闭eclipse 然后 1、安装minGW先 …

张善友: .NET社区运营 | 2021 中国开发者生态峰会

内容来源&#xff1a;2021 年 6 月 5 日&#xff0c;由 SegmentFault 思否主办的 2021 中国开发者生态峰会圆满落幕。会上&#xff0c; .NET基金会成员、资深.NET顾问和解决方案专家张善友发表了主题为《 .NET社区运营》的演讲&#xff0c;以社区工程师的角度分享了 .NET社区发…

到底要不要拯救地球?真·逻辑鬼才!| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅真逻辑鬼才↓ ↓ ↓

从零实操基于WSL2 Docker部署Asp.Net Core项目

前言平日在公司里都是基于阿里Teambition中的飞流进行Docker部署Api项目或服务&#xff0c;已经习惯了那一套成熟的操作流程&#xff0c;开发和部署确实快捷方便&#xff0c;但是还没在自己的电脑上进行操作过&#xff0c;特别是Windows10开始已经有WSL、WSL2去年在笔记本上捣鼓…

linux启动xorg进程,Linux 黑话解释:Xorg,X11,Wayland,什么是显示服务器

原标题&#xff1a;Linux 黑话解释&#xff1a;Xorg&#xff0c;X11&#xff0c;Wayland&#xff0c;什么是显示服务器您是否想知道X Server&#xff0c;Xorg&#xff0c;X11&#xff0c;Wayland以及诸如此类的东西到底是什么&#xff1f;Wayland vs Xorg&#xff0c;哪个更好&…

有气质的人都在看什么?

全世界只有3.14 % 的人关注了青少年数学之旅王小波说&#xff1a;我活在世上&#xff0c;无非想要明白些道理&#xff0c;遇见些有趣的事&#xff0c;倘能如我所愿&#xff0c;我的一生就算成功。你的圈子将决定你的人生。每一位对事物都有着独特的态度让你成为一个有趣的人。今…

投影变换[转]

4. 投影变换 一个投影变换类似于选择一个透镜的焦距&#xff0c;它是三种变换中最复杂的一个。 4.1 视锥&#xff08;Viewing Frustum&#xff09; 4.2 什么是投影变换? 4.3 设置投影矩阵 4.4 一个“W-Friendly”投影矩阵 4.1 视锥视锥就是场景中的一个三维空间&#xff0c;…

那些把天聊死的神操作。。| 今日最佳

全世界只有3.14 % 的人关注了青少年数学之旅【1】【2】【3】【4】【5】【6】【7】【8】【9】【10】【11】【12】&#xff08;图源网络&#xff0c;侵权删&#xff09;有话请“直”说↓ ↓ ↓

SqlDataReader对象的NextResult方法读取存储过程多个结果集

如上图&#xff0c;我这里有返回4个记录集,分别表示 发送的总数&#xff0c;成功数&#xff0c;失败数&#xff0c;以及所有的记录集&#xff0c;那么我怎么去获取呢&#xff1f; 如果我第二个记录集 第三个记录集 都是多行的话&#xff0c;怎么办&#xff1f;可以参考下面这张…

全部换新-微软复兴.NET,C#10 .NET6 VS2022各个强势!

VS2022.NET6C#10一起体验是啥感觉&#xff1f;爽&#xff01;令人印象深刻的是VS2022打开超大项目的流畅&#xff0c;.NET6极致简化的MiniAPI框架&#xff0c;C#10各种炫酷新语法。看看下图的代码你能认识吗&#xff1f;来自MiniAPI框架&#xff0c;直接在MapGet里面使用Lambda…

linux 修复图形界面,图形界面操作的备份和恢复Linux发行版

原标题&#xff1a;图形界面操作的备份和恢复Linux发行版来自&#xff1a;Linux迷链接&#xff1a;https://www.linuxmi.com/redo-rescue-2-0-6-linux.html现在可以下载Redo Rescue 2.0.6备份和恢复Linux发行版&#xff0c;该发行版增加了各种改进和新功能以及常见的错误修复。…

汇编语言的Hello World

汇编语言的Hello World&#xff0c;汇编语言没有我想象的那么低级&#xff0c;它已经具备了不少高级语言的特性&#xff0c;代码也变得清晰&#xff0c;层次清楚&#xff0c;易于维护了。a.asm.386.model flat,stdcall includelib kernel32.lib includelib user32.lib MessageB…

一条线一万美元的故事误导了你多少年

全世界只有3.14 % 的人关注了青少年数学之旅福特公司请斯坦门茨检修电机&#xff0c;画一道线用了一万美元&#xff0c;这个几乎人尽皆知的故事告诉我们一个道理&#xff1a;知识就是财富。故事讲到这里就结束了&#xff0c;但实际上&#xff0c;故事还有下文……20世纪初&…

ylbtech-Model-Account(通用账户模块设计)

ylbtech-DatabaseDesgin:ylbtech-Model-Account(通用账户模块设计)ylbtech-Model-Account(通用账户模块设计) 1.A&#xff0c;数据库关系图(Database Diagram)1.B&#xff0c;数据库设计脚本(Database Design Script)-- -- 用户模块设计 -- 2013-8-24 -- author:yuanbo -- US…

祝大家圣诞节快乐

同时庆祝 JWFD 20周年