原文連結:ABP Platform 4.4 RC Has Been Released
新增功能概述
- 啟動模板刪除
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
屬性,替換了IIdentityDbContext
和ITenantManagementDbContext
介面,以使這些模組能夠輕鬆地對倉儲進行連線查詢。
CMS-Kit 動態選單管理
CMS Kit是一系列可重用 CMS 系統功能模組。當前版本新增新功能:動態新增選單,可以導航到任何頁面或Url。
CMS Kit 管理頁面 /Menus
進行選單管理。
釋出網站顯示選單
截圖使用的是 ABP Commercial 版本,此功能同時包含在 ABP Framework CMS Kit 應用模組中(主題不同)。
Razor引擎對文字模板的支援
文字模板是通過使用模型(資料)和模板在執行時生成內容的系統。它是在Scriban模板引擎上執行的。從這個版本開始,模板引擎我們有了第二個選擇:可以使用熟悉的 razor 語法來構建和渲染模板。參見文字模板Razor整合文件,開始使用新的引擎。
DbContext/Entities 新的定製點
ObjectExtensionManager.Instance
中增加了兩個新的擴充套件方法: MapEfCoreEntity
MapEfCoreDbContext
,以重寫預建應用模組的 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-預覽里程碑,瞭解該版本修復的所有問題和合並的推送。
專案中需要用到工作流,可以看看這篇文章:《基於 ABP Framework 使用 Elsa 工作流》
釋出免費電子書:《Implementing Domain Driven Design》
六月初,為ABP社群出版了一本免費電子書。這是一本實施領域驅動設計(DDD)的實用指南。
中文版已翻譯完成,為了大家方便閱讀,整理成了電子書 《基於ABP Framework 實現領域驅動設計》中文完整版_v1.0_iEricLee譯
請入群:ABP Framework 研習社(QQ群:726299208)在共享檔案中下載。
新主題預告:LeptonX Theme
即將釋出新主題,命名為LeptonX。該主題適用於 ABP Framework(免費精簡版)和 ABP Commercial(商業專業版)。大概要等幾周釋出第一個版本。
重點介紹免費精簡版 LeptonX-lite
,將包含專業版所具有的大部分基本功能和元件。
精簡版和專業版之間的一些區別:
- 導航欄:移動標籤導航欄只在專業版提供。在精簡版中,用一個漢堡包選單替換。
- 頁面佈局:精簡版將只發布側面選單佈局,未來可能釋出更多的佈局,因為基礎設施可使開發和替換佈局變得容易。
- 主題顏色:在專業版提供不同顏色選項和在執行時改變顏色的能力。精簡版使用暗色構建。
詳細資訊參看介紹文件
關於下一版本
下一個主要版本:5.0
,將基於 .NET 6.0 ,預計在2021年底釋出。計劃將在RC版本之前釋出多個預覽/Beta版本。有關5.0
版本的計劃細節,請參見路線圖。
dotNET兄弟會-公眾號
專注.Net開源技術及跨平臺開發!致力於構建完善的.Net開放技術文庫!為.Net愛好者提供學習交流家園!