AnyDAC
ContentsIndexHome
PreviousUpNext
TADRdbmsDataSet.SchemaAdapter Property

Gets or sets a reference to a schema adapter, as a Centralized Cached Updates log.

Group
Links

Use SchemaAdapter property to set a reference to the TADSchemaAdapter object to enable Centralized Cashed Updates mode. The schema adapter object will be used as a central change log share by few datasets. 

To enable propagation of master dataset changes to a detail dataset set FetchOptions.DetailCascade to True for a detail dataset. Also both master and detail datasets must point to the same TADSchemaAdapter object.

property SchemaAdapter: TADCustomSchemaAdapter;
dsOrders.DataSet := qOrders;
qOrders.SchemaAdapter := ADSchemaAdapter1;
qOrders.CachedUpdates := True;

dsOrderDetails.DataSet := qOrderDetails;
qOrderDetails.SchemaAdapter := ADSchemaAdapter1;
qOrderDetails.CachedUpdates := True;
qOrderDetails.MasterSource := dsOrders;
qOrderDetails.MasterFields := 'OrderID';
qOrderDetails.IndexFieldNames := 'OrderID';
qOrderDetails.FetchOptions.DetailCascade := True;

qOrders.Open;
qOrderDetails.Open;

qOrders.Append;
....
qOrders.Post;

qOrderDetails.Append;
...
qOrderDetails.Post;

ADSchemaAdapter1.ApplyUpdates;
qOrders.CommitUpdates;
qOrderDetails.CommitUpdates;
What do you think about this topic? Send feedback!