A data model forms the foundation for developing applications by defining which classes and constructs are available. A data model also describes the methods for defining user-defined classes. The Microsoft .NET Framework uses the common type system (CTS) and the .NET Framework class library to define its data model. For a detailed explanation of the CTS and the .NET Framework class library, please refer to the Microsoft documentation.
OpenAccess ORM adds persistence capability to the .NET Framework data types. This chapter describes which constructs of the .NET data model are supported by OpenAccess. It does not however describe, how the .NET data model is mapped to the relational data model, as this has been described in Mapping.
With OpenAccess ORM, user-defined reference types, value types and interfaces can be marked as persistent (Refer to The Persistent Attribute for more information about the persistent attribute.)
Instances of user-defined persistent referenced types can be stored in the database with OpenAccess. The fields of persistent types can have the following types:

|
|
Built-in value types |

|
|
Built-in reference types |

|
|
References to user-defined interfaces |

|
|
User-defined value types |

|
|
References to user-defined reference types |
The following sections describe the supported types in more detail.