--- myst: substitutions: method: |- ```{image} /img/code_reference/net_library/method.ico ``` prop: |- ```{image} /img/code_reference/net_library/prop.ico ``` --- # SearchOptions Class Specifies options to use for retrieving a single entity from ERP. **Namespace:** powerGate.Erp.Client\ **Assembly:** powerGate.Erp.Client.dll ## Inheritance Hierarchy [System.Object]()\  **powerGate.Erp.Client.SearchOptions** ## Syntax ```{code-block} CSharp :linenos: public class SearchOptions ``` The SearchOptions type exposes the following members. ## Constructors | Name | Description | |----------------------------|--------------------------------------------------------| | {{method}} SearchOptions() | Initializes a new instance of the SearchOptions class. | ## Properties | Type | Name | Description | | ------------------------------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | {{prop}} Dictionary\ | Keys | The reference properties for searching the item which uniquely identifies the Entity. | | {{prop}} IEnumerable\ | Expand | Name/s of [navigation properties]() which should be included.
Navigation properties nested inside a [complex type property]() can also be expanded by specifying the full path (e.g. `ComplexTypeProperty/NavigationProperty`). | | {{prop}} IEnumerable\ | Select | Specifiy the properties which should be explicitly requested and returned by the client. | ## Remarks The **Keys** property specifies the reference properties that uniquely identify an entity in the ERP system.\ By default, a retrieved Entity-object will include all its properties. Alternatively, you can use the **Select** property to return only the properties which you want to have in the result. Depending on the entity model in the ERP system, entities may contain multiple hierarchical levels.\ Unlike [complex type properties](), the [navigation properties]() are **not** returned by default. To include them in the result, explicitly specify them using the **Expand** property.\ Complex type properties themselves cannot be expanded and do not need to be, since they are always returned by default together with the entity's other properties.\ However, a complex type property may itself contain a navigation property. In that case, the navigation property can still be expanded by specifying the path through the complex type property (e.g. `Expand = new[] { "ComplexTypeProperty/NavigationProperty" }`). ## See also **Reference** - [powerGate.Erp.Client namespace]()