In DObject O/R Mapping persistence layer's object-set, the operation of finding object is similar to getting sub-set except that what it returns is only an object, as follows:
l Filter a single field:
|
var orders : IObjectSet; order: IOrder; begin orders := ObjectManager.GetObjectSet(NW.Order); // ... order := orders.Find(NW.Order.EmployeeID, 1) as TOrder; end; |
l Filter multi-field:
|
var orders : IObjectSet; filter : IOrder; order : IOrder; begin orders := ObjectManager.GetObjectSet(NW.Order); // ... filter := TOrder.Create(nil); filter.EmployeeID := 2; filter.ShipVia := 1; order := orders.Find(filter) as TOrder; end; |
l Using OQL:
|
var orders : IObjectSet; order: IOrder; begin orders := ObjectManager.GetObjectSet(NW.Order); // ... order := orders.Find( OQL.Criteria(NW.Order.EmployeeID).EQ(1) ) as TOrder; end; |
Note: the OQL here doesn't support multi-table's Join, Sub-query, Case, Like and function.
Related Topics