翻譯|產(chǎn)品更新|編輯:龔雪|2024-12-09 10:24:38.633|閱讀 93 次
概述:.NET應(yīng)用UI框架DevExpress XAF v24.2即將在近期更新,新版本官宣會(huì)增強(qiáng)跨平臺(tái)性,歡迎加入社群及時(shí)獲取最新信息!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DevExpress XAF是一款強(qiáng)大的現(xiàn)代應(yīng)用程序框架,允許同時(shí)開發(fā)ASP.NET和WinForms。DevExpress XAF采用模塊化設(shè)計(jì),開發(fā)人員可以選擇內(nèi)建模塊,也可以自行創(chuàng)建,從而以更快的速度和比開發(fā)人員當(dāng)前更強(qiáng)有力的方式創(chuàng)建應(yīng)用程序。
本文記錄了一些DevExpress XAF v24.2相關(guān)功能,新版本預(yù)計(jì)將在12月初發(fā)布,本系列文章將詳細(xì)介紹搶先體驗(yàn)預(yù)覽版本!您將看到,目前DevExpress XAF v24.2相關(guān)的重點(diǎn)領(lǐng)域仍然是Blazor、實(shí)體框架核心和安全性。
DevExpress技術(shù)交流群11:749942875 歡迎一起進(jìn)群討論
如果您有一個(gè)Universal Subscription,請(qǐng)隨時(shí)下載此 Early Access Preview (EAP) build,如果您擁有一個(gè)激活的DXperience Subscription,并希望了解更多有關(guān)跨平臺(tái).NET App UI (XAF)或Web API Service,您可以通過登錄到DevExpress下載管理器并在試用模式下安裝此EAP構(gòu)建來探索本文描述的功能。
DevExpress XAF UI (Blazor 和 WinForms)和Web API Service都提供了一個(gè)“一鍵”解決方案,將現(xiàn)代OAuth2身份驗(yàn)證提供程序與本地單點(diǎn)登錄(SSO)(如Microsoft Entra SSO)、多因素身份驗(yàn)證(MFA)和其他安全功能結(jié)合起來,這適用于EF Core和XPO ORM。有關(guān)這方面的其他信息,請(qǐng)參閱及相關(guān)文檔。
Passkeys使用您的設(shè)備鎖(例如您的指紋,面部,pin或圖案)登錄到您的Microsoft,谷歌或其他身份驗(yàn)證提供商帳戶。例如,Microsoft Authenticator可用于登錄任何Microsoft Entra ID帳戶,而無需使用密碼。Microsoft Authenticator使用基于密鑰的身份驗(yàn)證來啟用綁定到設(shè)備的用戶憑證(其中設(shè)備使用PIN或生物識(shí)別技術(shù)),使用了類似的技術(shù)。
在v24.2中,DevExpress XAF UI (Blazor和WinForms)和Web API Service將支持所有與Passkey相關(guān)的使用場(chǎng)景,這包括恢復(fù)忘記的密碼、暫時(shí)阻止訪問帳戶、帳戶恢復(fù)、人臉識(shí)別登錄、PIN、指紋、OTP、QR碼,或各種身份驗(yàn)證應(yīng)用程序,使用中間層應(yīng)用程序服務(wù)器或WinForms中的更簡(jiǎn)單配置。
在EF Core中為服務(wù)器端計(jì)算字段實(shí)現(xiàn)了一個(gè)更簡(jiǎn)單的解決方案。請(qǐng)注意,在Server和InstantFeedback模式下,您可以通過計(jì)算屬性對(duì)List View數(shù)據(jù)進(jìn)行排序、分組或篩選。使用DevExpress.ExpressApp.DC.CalculatedAttribute或DevExpress.ExpressApp.DC.PersistentAliasAttribute來指示是否計(jì)算屬性的值。下面的代碼片段演示了如何創(chuàng)建一個(gè)帶有計(jì)算屬性的類:
using DevExpress.ExpressApp.DC; public class Product : BaseObject { // ... public virtual decimal Quantity { get; set; } public virtual decimal Price { get; set; } [PersistentAlias("Quantity * Price")] // or [Calculated("Quantity * Price")] public decimal TotalPrice { get { return EvaluateAlias<decimal>(); } } }
v24.2支持EF Core軟刪除(又名XPO的延遲刪除),用于DevExpress XAF UI和Web API Service驅(qū)動(dòng)的應(yīng)用程序。
對(duì)于軟刪除或延遲對(duì)象刪除,ORM將對(duì)象標(biāo)記為已刪除,而不會(huì)立即從數(shù)據(jù)庫中物理地刪除它們。此技術(shù)有助于在刪除由其他實(shí)體引用的對(duì)象時(shí)避免數(shù)據(jù)庫異常。
我們還為現(xiàn)有數(shù)據(jù)庫表創(chuàng)建了一個(gè)自動(dòng)轉(zhuǎn)換器(以添加新的GCRecord列)。
DevExpress v24.2引入了XAF中EF Core的計(jì)算屬性,這一變化需要方便地訪問自定義IsExactType和IsInstanceOfType函數(shù),而不管應(yīng)用程序中使用的ORM是什么。
為了實(shí)現(xiàn)奇偶性,我們將定制的IsExactType和IsInstanceOfType函數(shù)從DevExpress.Xpo程序集移動(dòng)到DevExpress.Data程序集。
這個(gè)變化允許這個(gè)功能在EF Core中工作,您可以在EF Core項(xiàng)目中使用以下功能:Upcasting和Free Joins,這使得EF Core的過濾功能與今天的XPO ORM沒有什么不同。
在v24.2中,XAF在.NET應(yīng)用程序的XPO連接提供程序中支持DateOnly/TimeOnly,這種增強(qiáng)有利于XAF/Reporting/Dashboards和其他產(chǎn)品,因?yàn)閄PO是內(nèi)部數(shù)據(jù)訪問代碼的核心。作為其中的一部分,我們還更改了SQL類型Date和Time的列映射。
DevExpress XAF v24.2優(yōu)化了所有支持平臺(tái)上的圖像/圖標(biāo)加載操作,我們注意到應(yīng)用程序啟動(dòng)時(shí)間的改進(jìn)高達(dá)2秒(或者在具有大量操作的復(fù)雜應(yīng)用程序中更多)。
在內(nèi)部,我們也在安全對(duì)象和成員權(quán)限(EF Core和XPO ORM)和計(jì)算字段(僅EF Core)中使用了CriteriaCompiler而不是CriteriaEvaluator。對(duì)于特定的使用場(chǎng)景,這將計(jì)算時(shí)間和內(nèi)存分配減少了一半。與此同時(shí),您可以看看我們實(shí)驗(yàn)室的一些截圖(這些變化還沒有包括在這個(gè)EAP中):
DevExpress XAF現(xiàn)在自動(dòng)從基于XPO的應(yīng)用程序?qū)徲?jì)跟蹤中排除所有非持久性屬性,如果非持久性屬性的setter方法包含廣泛的邏輯,則此增強(qiáng)可以提高性能。
要更新現(xiàn)有的應(yīng)用程序,請(qǐng)?jiān)O(shè)置靜態(tài)ObjectAuditProcessor. ExcludeNonPersistentFromAudit屬性設(shè)置為true。
v24.2中添加了新的擴(kuò)展防范,使得使用XafApplication和IObjectSpaceFactory創(chuàng)建新的對(duì)象空間變得更加容易。
// v24.1.3 and earlier var os = Application.CreateObjectSpace(typeof(Person)); // v24.1.5+ and v24.2+ var os = Application.CreateObjectSpace<Person>();
如果您在ASP. NET Core 應(yīng)用程序 (Web API Service控制器、自定義Razor組件等)中使用了IObjectSpaceFactory,請(qǐng)考慮v24.2中的以下小的突破性變化:。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)