The UseServerMode Boolean property of the Options and ListView nodes is now replaced by the DataAccessMode property of the CollectionSourceDataAccessMode enumeration type. This enumeration contains the Client, Server and DataView values. The Client value is equivalent to the UseServerMode set to false in previous versions. The Server value is equivalent to the UseServerMode set to true in previous versions. DataView is a new mode. ListView in DataView mode retrieves XPView or EFDataViewlightweight read-only lists of data records without loading complete persistent objects via XPCollection/EFCollection.
How to Choose an Appropriate Data Access Mode
Both Server and DataView modes are intended to improve List View performance, but in different areas.
If the database requests count is critical, then you should choose DataView mode. In this mode, all data records are fetched by a single request, and then grouping, sorting and filtering are executed on the client side without additional requests. Data iew mode is appropriate when the current persistent type contains many references to other persistent types which also include lots of references. In the DataView mode, only data required by visible columns is loaded, while other modes (both Client and Server) will trigger multiple requests to load the entire date hierarchy.
If List View startup time is critical, then you should choose Server mode. In this mode, only a few visible objects are fetched by the first request when a List View is opened. However, scrolling, grouping, sorting and filtering leads to additional database requests - required data is loaded on demand.
If the performance is acceptable, simply use the Client mode. Do not enable Server and DataView modes unless you observe a lack of performance.
yeah, this one is too old
I do rather a lot of XPQuery and Linq and it would be nice to get rid of all foreach loops.
Truth is, it's not that hard to create custom collection source and will probably do it when I catch the time.
For now, I created quick ForEach extension which quickens the work a bit.