This is especially databinding issue. Based on navigators, datamember is generated (related collection)
Say I have Customer - Orders and Order is a supertype of 2 different order types, O1=PurchaseOrder and O2=SalesOrder
I load Customer collection with prefetch to Orders even with typefilter to subtype CustomerPurchaseOrder
I will add two Devex grids to form:
1/ GridCustomer
datasource=Customer collection
2/ GridPurchaseOrders (O1);
datasource=Customer collection
datamember=CustomerOrders <- I cannot select DataGrid DataMember property=CustomerPurchaseOrder, as navigator is only to supertype CustomerOrders, means datamember can be set only to CustomerOrders.
This way I will no see specific fields for subtype CustomerPurchaseOrders
If I add new row in grid, the type of row is automatically CustomerOrderEntity
Thus when Customer entity is saved with recurse=true, it will fail as it will write only to CustomerOrder table, not also to CustomerPurchaseOrders inherited table.
The only workaround now for this scenario is not use prefetch, load Customer collection without related entities, then load CustomerPurchaseOrders as collection.
And then write some databinding hacks, when Customer current is changed then set filter to CustomerPurchaseOrder collection... Also saving has to be done separately, cannot be saved as graph by SaveEntity.
PS: Use more views in the same Devex grid does not solve this, as datamember datatype will be CustomerOrder ...
https://supportcenter.devexpress.com/ticket/details/e883/how-to-display-master-detail-tables-in-separate-grid-controls