EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

DataView模式

模式总览

数据视图模式改进列表视图通过检索的性能XafDataView一次轻量级只读的数据记录列表,而不是加载XPCollectionEFCollection持久对象的。

注意

数据视图模式不与EF组合键支持的业务对象。

预期行为

  • ListView.CurrentObjectListView.SelectedObjectsSimpleActionExecuteEventArgs.SelectedObjects属性返回XpoDataViewRecordEFDataViewRecord对象,而不是原来的业务对象。若要获取真实的对象,请使用IObjectSpace.GetObject方法。
  • 非持久属性的数据不会显示在以DataView模式运行的列表视图中。但是,如果IModelMember.Expression中引用的所有属性都是持久性的,则在此模式下可以正确显示自定义计算字段
  • 在此模式下不支持内联编辑。如果原始对象被修改,则在您提交更改并重新加载集合之前,该对象不会显示在列表视图中。

    例如,当操作更改对象的属性值时,该对象的实例由单独的数据库请求创建,并且在提交更改之前该属性值的修改不会显示在网格上(或者如果设置了BaseObjectSpace.CommitChanges属性,则该更改会自动发生为true)。

    此外,如果外观规则和安全规则应用于当前列表视图中的对象类型,并且这些条件使用的对象属性不包含在CollectionSourceBase.DisplayableProperties集合中,则这些对象的实例由单独的数据库请求创建,以检查每个规则。

  • 引用属性无法在DataView模式下显示。检索数据时,列表编辑器会自动将参考属性替换为其默认的嵌套属性(可以使用XafDefaultPropertyAttribute属性定义)。例如,在Employee List视图中,Employee.Department属性替换为Employee.Department.Title
  • 数据视图模式正在由一些内置列表编辑器的支持下- GridListEditorSchedulerListEditorPivotGridListEditor中的WinForms应用程序使用,而ASPxGridListEditorASPxSchedulerListEditorASPxPivotGridListEditor在ASP.NET Web应用程序使用。
  • SchedulerListEditorASPxSchedulerListEditor编辑器不支持的资源在此模式下。
  • 在嵌套列表视图中,链接取消链接新建删除编辑操作是由设计禁用。
  • 在此模式下,OpenObjectController.OpenObject操作处于非活动状态。
  • 在标准评估中使用不可见属性可以得到正确处理,但可能会对性能产生负面影响,因为这会导致通过单独的数据库请求加载实际对象。使用集合属性可能会导致更多的递归请求。如果您不能避免使用这种标准,因为性能没有差异,请考虑使用客户端模式而不是DataView模式。
注意

如果将实体框架用作ORM系统,请按照“代码和UI中的实体之间的关系”主题的“聚合实体的级联删除”部分中的说明,实现聚合集合的级联删除。

转载保留此链接,注明出处