Bentley Communities
Bentley Communities
  • Site
  • User
  • Site
  • Search
  • User
  • Welcome
  • Products
  • Support
  • About
  • More
  • Cancel
AutoPLANT | OpenPlant | PlantWise
  • Product Communities
  • More
AutoPLANT | OpenPlant | PlantWise
AutoPLANT | OpenPlant | PlantWise Wiki OPPID - How to use the Class Editor Mapping Extension for the Plant Project Database
    • Sign in
    • -AutoPLANT | Bentley Raceway and Cable Management | OpenPlant | PlantWise Wiki
      • -OpenPlant
        • +CONNECT Services - OpenPlant
        • +Example Configuration - CONNECT Edition
        • +Installations - OpenPlant CONNECT Edition Applications
        • +OpenPlant Download Links & Videos
        • OpenPlant Product Compatibility
        • +OpenPlant Modeler CONNECT
        • +OpenPlant PID CONNECT
        • +OpenPlant Isometrics Manager CONNECT
        • +OpenPlant Orthographics Manager CONNECT
        • +OpenPlant Support Engineering CONNECT
        • +OpenPlant Project Administrator CONNECT
        • +OpenPlant CONNECT Edition-PlantSight Integration
        • +OpenPlant Modeler v8i
        • +OpenPlant Isometrics Manager v8i
        • +OpenPlant Project Administrator v8i
        • -OpenPlant PID v8i
          • +Application Solutions - OPPID
          • +Class Editor - OpenPlant PID
          • +Customization - OpenPlant PID
          • -Database - Plant Project
            • How to Create a new SQL Server Project and Synchronize OpenPlant PID Projects to it?
            • How do I turn on Number Auto Incrementation of Components on placement?
            • How to Associate an OpenPlant PID Drawing with Another Project
            • How to Change OPPID and Plant Project's Names
            • How to Configure Particular Project to Work in Offline Mode By Default
            • How to Create Custom Border and Map Custom Property with Database
            • How to Get Related Valve Tag in Instrument List in Data Manager
            • How to Map Custom Properties with Database
            • How to Map Input/Output Signal of Instrument in OpenPlant PID
            • How to Select Field Value from External Database PickList
            • How to Setup a Batch Routine to Sync all Drawings in my Project to the Database at one time
            • How To Show Modified Tag Format in Data Manager
            • Importing Data into the Plant Project Database from an Excel Spreadsheet
            • Mapping Plant Project Extended Data Fields to OpenPlant PowerPID
            • OPPID - How to use the Class Editor Mapping Extension for the Plant Project Database
            • OPPID- How to add custom properties to specific piece of equipment or sub class and link to a database
            • Plant Project Database - Class Mapping
            • Plant Project Database - Operations with Schema Mapping and Mapping Add-in panel
            • Plant Project Database - Oracle Install notes
            • Plant Project Database - Relationship Mapping
            • Plant Project Database Tag Format - Tag Codes
            • Setting OpenPlant PowerPID Project with Plant Database Project
            • To Import Modified Tags from Excel in Data Manager
            • Error: "Connection Test Failed" While Mapping SQL Database to Plant Project
            • Calculated EC Property Shows Failure Value in Data Manager
            • "{SERVICE_IS_RELATED_TO_EQUIPMENT(VG.0000003279)} belongs to the ECSchema {ECSchema: PlantProjectSchema.01.04} which is not supported in this connection" Error on Synchronizing from Database to Drawing
            • "Project ID 'XXXX' not found in AT_PROJ.DB3"
            • How to Move a Project Database from One Directory to Another For OPPID
            • Troubleshooting Synchronization issues using Component Selection Tool
          • +Properties - OpenPlant PID
          • +Release Notes - OpenPlant PID
          • +Training - OpenPlant PID
          • +White Papers/Guidelines - OPPID
        • +OpenPlant Orthographics Manager v8i
        • +OpenPlant Support Engineering v8i
        • +OpenPlant ModelServer v8i
        • +OpenPlant Reporting v8i
        • How to Connect with Bentley Technical Support Team using Microsoft Teams
        • How to Connect with Bentley Technical Support Team using Microsoft Teams via Browser
        • How to Create a Custom Joint in OpenPlant Modeler Connect
      • +Bentley AutoPLANT
      • +Bentley Navigator
      • +Bentley PlantSpace
      • +Plant Project Tools
      • +Bentley Raceway and Cable Management
      • i-model Composition Service for S3D
      • Working from home with OpenPlant
      • Working from home with Bentley Raceway and Cable Management
      • Working from home with AutoPLANT Modeler
    • How to Associate the Specification Based on Service in OpenPlant Modeler Connect

     
     Questions about this article, topic, or product? Click here. 

    OPPID - How to use the Class Editor Mapping Extension for the Plant Project Database

    Applies To 
    Product(s): OpenPlant PowerPID
    Version(s): SELECTseries 3+
    Environment:  N/A
    Area:  N/A
    Subarea:  N/A
    Original Author: Gerd Eichler

    Introduction

    It is well known that there is no strong agreement between relational data model and object data model. To bring them into agreement the SchemaMapping was created. It complies data base tables, columns and foreign keys to classes, properties and relationships of object model. All the information is stored in an xml file (called "mapping file"). The mapping file is necessary for the Plant Project DBPlugin. The Plugin is used to read and write data from and to the application database.
    The SchemaMappingAPI is a library that represents mapping object model. It proposes mapping items (class maps, relationship maps and property maps) and allows serialization and deserialization of mapping information into the XML document. The library, however does not provide an easy-to-use approach to edit these mapping items. For these purposes the Mapping Extension for the Bentley Class Editor was created.

    Schema Mapping Structure

    The structure of the Schema Mapping mostly repeats the structure of an Schema. A simplified diagram showing the structure of the schema mapping is on Fig. 1. The main entities of the mapping are corresponding to the main entities in the Schema. Thus SchemaMap relates to an Schema, ClassMap relates to an CClass and PropertyMap relates to an Property.

    • ECSchemaMap. This is the root object which aggregates mappings for all classes and relationships
    • ECClassMap. Contains all necessary information needed to select, update and delete instances of the corresponding class of the Plant Project DB. It aggregates mappings for properties of the corresponding class.
    • ECRelationshipMap. Contains the same information as ClassMap plus mappings for Source and Target relationship constraints.
    • ECPropertyMap. Contains table and column or a set of columns that corresponds to an Class property. It also specifies (if necessary) processors that will aggregate several column values into a single one or transforms somehow the original value.

    Operations with Schema Mapping and Plant Project Database Mapping Add-in panel

    Mappings

    Mapping Validation and Repairing a Mapping

    Schema Mapping Custom Attributes

    • TechNote
    • Openplant
    • Share
    • History
    • More
    • Cancel
    • Gerd.Eichler Created by Bentley Colleague Gerd.Eichler
    • When: Fri, Jan 15 2010 10:57 AM
    • Kestutis Mitkus Last revision by Bentley Colleague Kestutis Mitkus
    • When: Fri, Mar 22 2019 5:51 AM
    • Revisions: 18
    • Comments: 0
    Recommended
    Related
    Communities
    • Home
    • Getting Started
    • Community Central
    • Products
    • Support
    • Secure File Upload
    • Feedback
    Support and Services
    • Home
    • Product Support
    • Downloads
    • Subscription Services Portal
    Training and Learning
    • Home
    • About Bentley Institute
    • My Learning History
    • Reference Books
    Social Media
    •    LinkedIn
    •    Facebook
    •    Twitter
    •    YouTube
    •    RSS Feed
    •    Email

    © 2021 Bentley Systems, Incorporated  |  Contact Us  |  Privacy |  Terms of Use  |  Cookies