What Are the Orders Mapping Files?
Mapping files define a relationship between two representations of an object. Two mapping files are relevant to the Orders System:
OrderObjectMappings.xml defines how objects in the Orders runtime map to tables and columns in the database.
OrderPipelineMappings.xml defines how objects in the Orders runtime map to entries in the dictionaries that pipelines use.
If you extend the Orders System by deriving new classes or by adding new properties to the Commerce Server Core Systems classes, you can store the new data in the database or pass your new data to the pipelines by updating the mapping files.
If you derive a new class from an Orders runtime class, you must update the OrderObjectMappings.xml file if you want to store data about instances of the class in the database. If you derive a new class from an Orders runtime class, you must update the OrderPipelineMappings.xml file if you want to pass data about instances of the class to the pipelines.
If you add a weakly typed indexer property to an Orders runtime class and the property's name does not begin with the underscore character ("_"), the property will automatically be stored in the database. However, the property's name and its value will be stored in a binary large object (BLOB), and you will therefore not be able to search the database on the property. If you want to be able to search the database on the property, you must explicitly map the weakly typed indexer property to a column in a database table by updating the OrderObjectMappings.xml file.
Note
Although weakly typed indexer properties that begin with the underscore character ("_") are not stored in the BLOB, you can store them in the database by explicitly mapping them to a column in a database table.
You do not have to update the OrderPipelineMappings.xml file to pass a new weakly typed indexer property to the pipelines. All weakly typed indexer properties, whether they begin with the underscore character ("_") or not, are automatically added to the dictionaries that are passed to the pipelines.
Copies of the OrderObjectMappings.xml file and the OrderPipelineMappings.xml file are located in the %Commerce_Server_Root%\SDK\Samples\SiteCreate directory.
Important Note: |
---|
The OrderObjectMappings.xml file and the OrderPipelineMappings.xml files in the root directory of the site must be the same as the OrderObjectMappings.xml file and the OrderPipelineMappings.xml files in the root of the Orders Web service directory. By default, the root of the Orders Web service directory is %SystemDrive%\Inetpub\Wwwroot\OrdersWebService. |