DevExpress XAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。DevExpress XAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。(q技术交流:600715373)
在新版中DevExpress XAF的Blazor、Web API Service及WinForms (.NET Core)程序集等默认面向.NET 6,欢迎下载最新版体验!
DevExpress v22.1官方正式版下载(q技术交流:600715373)
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的一部分),如需下载免费版,请访问:.NET App Security & Web API – Free Offer from DevExpress
本地化支持
Web API Service现在包括端点来获取类和成员的本地化标题,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"));
}
技术团队还在解决方案向导中添加了一个新选项,可以将预配置的测试项目添加到您的解决方案中。
新的错误诊断
此次更新版标志着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数据提供程序。