code学习

跨平台.NET应用UI组件DevExpress XAF v22.1 - 增强Web API Service

作者:慧都科技

DevExpress XAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。DevExpress XAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。

在新版中DevExpress XAF的Blazor、Web API Service及WinForms (.NET Core)程序集等默认面向.NET 6,欢迎下载最新版体验!

DevExpress Universal Subscription官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网

Web API Service

Entity Framework Core 5 & XPO ORM的CRUD和授权

这次更新标志着Web API Service的正式发布,XAF的解决方案向导现在生成一个Web API服务,具有集成的授权和CRUD操作,由EF Core 5和XPO ORM库提供支持。

Web API Service的基本功能是免费的(作为.NET Role-based Access Control & Permission Management API的一部分),如需下载免费版,请访问:https://www.devexpress.com/security-api-free

跨平台.NET应用UI组件DevExpress XAF v22.1 - 增强Web API Service

本地化支持

Web API Service现在包括端点来获取类和成员的本地化标题,Web API Service的这个选项作为宇宙版的一部分发布。

跨平台.NET应用UI组件DevExpress XAF v22.1 - 增强Web API Service

核心增

解决方案向导中的单元和功能测试

您现在可以在C#/VB.NET中编写端到端(e2e/功能)测试。

C#

[Theory]
[InlineData(BlazorAppName)]
[InlineData(WinAppName)]
public void CreateStudent(string applicationName) {
FixtureContext.DropDB(AppDBName);
var appContext = FixtureContext.CreateApplicationContext(applicationName);
appContext.RunApplication();
appContext.GetForm().FillForm(("User Name", "Admin"));
appContext.GetAction("Log In").Execute();

appContext.Navigate("Student");
Assert.Equal(0, appContext.GetGrid().GetRowCount());

appContext.GetAction("New").Execute();
appContext.GetForm().FillForm(("First Name", "John"), ("Last Name", "Smith"));
appContext.GetAction("Save").Execute();
Assert.Equal("John Smith", appContext.GetForm().GetPropertyValue("Full Name"));

appContext.Navigate("Student");
Assert.Equal(1, appContext.GetGrid().GetRowCount());
Assert.Equal(new string[] { "John", "Smith" }, appContext.GetGrid().GetRow(0, "First Name", "Last Name"));
}           

技术团队还在解决方案向导中添加了一个新选项,可以将预配置的测试项目添加到您的解决方案中。

跨平台.NET应用UI组件DevExpress XAF v22.1 - 增强Web API Service

新的错误诊断

此次更新版标志着XAF诊断的正式发布,现在可以使用预构建的错误诊断分析解决方案,并在Error List窗口中查看详细报告。v22.1包括以下新的诊断,以帮助开发者正确定义业务模型和控制器:

  • XAF0009:用'RuleRequiredFieldAttribute'装饰的属性应该是空的或引用类型。
  • XAF0010:设置'DelayedAttribute.UpdateModifiedOnly'属性为True。
  • XAF0011:正确实现delayed属性。
  • XAF0012:避免调用'XafApplication.CreateObjectSpace()'方法覆盖'Type'参数。
  • XAF0013:避免读取 'XafApplication.ConnectionString' 属性。
  • XAF0014:带有'Association'属性的属性必须有一个正确的唯一对。
  • XAF0015:如果与关联的“many”端配对,则关联必须没有“Aggregated”属性。
  • XAF0016:'NonPersistentBaseObject'和'NonPersistentLiteObject'的后代必须用'DomainComponent'属性装饰。

SAP HANA数据库提供XPO

XPO连接提供程序现在支持SAP HANA。

用于XPO的MySqlConnector数据库提供程序

XPO连接提供程序现在支持https://mysqlconnector.net/,这是一个mit授权MySQL、MariaDB、Percona Server、Amazon Aurora、Azure Database for MySQL、Google Cloud SQL for MySQL、和其他MySQL兼容的数据库的ADO.NET数据提供程序。