提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|产品更新|编辑:龚雪|2023-06-15 10:24:55.203|阅读 74 次
概述:在新版中增强了DevExpress XAF实体框架的核心功能、支持EF Core 6 ORM等,欢迎下载最新版体验!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
DevExpress XAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。DevExpress XAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。
在新版中增强了DevExpress XAF实体框架的核心功能、支持EF Core 6 ORM等,欢迎下载最新版体验!
DevExpress技术交流群8:523159565 欢迎一起进群讨论
用户现在可以使用Entity Framework Core 6来访问所有基于.NET 6 XAF(WinForms, Blazor和Web API Service)应用程序中的数据。
当用户通过Entity Framework Core 6访问数据时,现在可以使用变化跟踪代理来自动检测对象属性的变化。一旦启用了选项,将不再需要实现INotifyPropertyChanged和INotifyPropertyChanging来通知客户端属性值已经改变。
这个新的增强功能帮助用户简化业务类实现。
考虑下面的示例,这是在v22.1中一个业务对象的实现:
C#
public class BusinessObject : INotifyPropertyChanged { int id; string name; public int Id { get { return id; } set { if (id != value) { id = value; OnPropertyChanged(); } } } public string Name { get { return name; } set { if (name != value) { name = value; OnPropertyChanged(); } } } protected void OnPropertyChanged([CallerMemberName]string propertyName = null) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); } public event PropertyChangedEventHandler PropertyChanged; }
这是它在v22.2中的转换方式:
C#
public class BusinessObject { public virtual int Id { get; set; } public virtual string Name { get; set; } }
可以对实现IObjectSpaceLink的对象进行相同的更改,例如这是v22.1中业务对象的实现。
C#
public class BusinessObject : IObjectSpaceLink { // ... public void SomeAction() { // some business-logic uses ObjectSpace } IObjectSpace objectSpace; IObjectSpace IObjectSpaceLink.ObjectSpace { get { return objectSpace; } set { objectSpace = value; } } }
这是它在v22.2中的样子。
C#
public class BusinessObject { // ... public void SomeAction() { var objectSpace = ((IObjectSpaceLink)this).ObjectSpace; // some business-logic uses objectSpace } }
当配置EF Core DbContext时,调用DbContextOptionsBuilder.UseObjectSpaceLinkProxies方法来为所有持久化类自动实现IObjectSpaceLink。
默认情况下,使用XAF Solution Wizard创建的所有新项目都启用了UseChangeTrackingProxies选项。
抽象的DevExpress.Persistent.BaseImpl.EF.BaseObject类包括一个关键属性,并实现了IObjectSpaceLink和IXafEntityObject接口。从'BaseObject'继承避免样板代码,并在您的业务对象中实施最佳实践。
用户现在可以使用Entity Framework Core 6来访问后端Web API / REST API应用程序中的数据,新版本中的Web API Service (CRUD、身份验证和授权)是免费的,作为.NET App Security & Web API Service的一部分提供。
使用服务端点(又名Reports Module)从报表模板和数据库中过滤的数据下载PDF,使用api/Report/DownloadByKey, api/Report/DownloadByName端点,您可以从存储在数据库中的ReportDatav2容器中下载数据。
每个ReportDatav2链接到一个“XtraReport”,在Visual Studio IDE中设计的报表数据源和数据模型,用户可以根据需要传递报表容器标识符、数据源标准和其他参数。
XAF的应用程序向导将ReportController自动添加到新的Web API应用程序中,用户可以扩展和修改此端点来满足特定需求。
注意:此端点尊重安全权限。
使用服务端点记录数据库历史变更(审计跟踪模块),通过Web API 端点中的ORM进行的任何数据更改都不会被注意到,您可以在RDBMS或XAF的管理UI (WinForms, Blazor和/或 ASP. NET Web Forms)中查看相关的日志历史。
使用服务端点(文件附件模块)下载存储在数据库中的BLOB数据,使用api/MediaFile/DownloadStream端点,您可以从数据模型中声明的FileData, MediaDataObject, Image或字节数组属性中下载数据。
使用内置(超过10条)或自定义验证规则检查Web API Service中输入数据的状态 - 验证模块,现在您可以使用IValidator服务来验证自定义端点中的输入数据。
现在用户可以在Web API Service中对非持久性和代理对象执行CRUD操作(与其他持久性对象的方式相同),建议您从NonPersistentBaseObject或其他具有key属性的类继承,以强制执行非持久化类的最佳实践。
MainDemo应用程序现在包含一个预配置的测试项目,其中包含基类和助手,以及最流行的使用场景fixture,该项目将帮助API开发人员为CRUD操作和自定义Web API Service端点编写单元测试。
C#
[TestFixture] public class MyWebApiTests : BaseWebApiTest { [Test] public async Task TestPostDelete() { var newResult = await api.PostAsync( new TestObject { TestProperty = "test" } ); Assert.NotNull(await api.GetByKeyAsync<TestObject>(newResult.Oid.ToString())); var deleted = await api.DeleteAsync<TestObject>(newResult.Oid.ToString()); Assert.AreEqual(newResult.Oid, deleted.Oid); } [TestCase(typeof(Employee))] [TestCase(typeof(Paycheck))] [TestCase(typeof(Position))] public async Task TestGetBasic(Type objectType) { var result = await api.GetAllAsync(objectType); Assert.Greater(result.Length, 0); } }
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:慧都网知名C/C++开发工具CLion全新发布v2024.3,新版本新语言引擎有显著改进等,欢迎下载新版体验!
强大的VS插件CodeRush已正式发布v24.2.3,新版本现在可以运行xUnit.Net v3测试等,欢迎下载最新版体验!
Spire.PDF 10.12.4 最新版本支持在进行多页打印时设置自动旋转方向。同时,一些已知问题也在本次更新中被成功修复,例如打印 PDF 文档时内容丢失的问题,欢迎下载体验~
日程安排控件dhtmlxScheduler v7.2全新发布,新版本增强并增加了编辑、修改等多个操作体验,欢迎下载最新版试用~
灵活创建针对Windows和Web商业级应用程序的开发框架
DevExpress Universal Subscription行业领先的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢