pmMDA.NET

PagedBag Class

[This is preliminary documentation and subject to change.]

Unordered, indexed paged collection which allows duplicates.

For a list of all members of this type, see PagedBag Members.

System.Object
   PmMda.Net.Dog.Paging.PagedListBase
      PmMda.Net.Dog.Paging.PagedBag

[DefaultMember(MemberName="Item")]
public class PagedBag : PagedListBase

Remarks

Paged collections are used in server-client environments. They are loading their items by request. Every time an unloaded item is requested, the paged set will request the next items. The PagingAmount and MaxLoadedItemCount properties can be used to specify how many items are reloaded and how many items are kept in the local memory.

The items of a paged bag must be of type IDataObject.

Error handling:
It is possible that the owner of this paged bag has been modified since it was originally loaded. The owner is the data object which contains the indexed property represented by this paged bag. Because the owner was modified by another transaction, the local cache may be invalid. Also, it is never possible to store the owner because of the optimistic concurrency approach of pmMDA.
The paged bag can react in different ways. For further information see the DefaultOwnerModifiedAction property.
It is also dangerous to ignore that kind of error. Ignoring the error in paged bags may result in strange results because the indexes at which the items were replaced, inserted or removed may not match anymore with the persistent indexes. This means that wrong items were replaced and insertions are at the wrong place. If the error is ignored, the developer will not notice that he is working on a faulty bag.

Requirements

Namespace: PmMda.Net.Dog.Paging

Assembly: pmMDA.NET.Common (in pmMDA.NET.Common.dll)

See Also

PagedBag Members | PmMda.Net.Dog.Paging Namespace