Defines the representation of a type in the underlying relational database system and/or provides information to
map its members.
<Type name="
type
">
[extent-provider]
[object-identity]
[type-identity]
[proxy-provider]
member-mappings
type-modifiers
</Type>
-
type
-
A class name. The class name can either be the full qualfied name or the short name of a type.
-
extent-provider
-
One of the type extent providers providing the
storage model of the type in the underlying relational database system.
When the type is a persistent type, specifying the extent-provider is obligatory.
-
object-identity
-
An object identity provider specifying
how instances of the type are identified in the underlying relational database system.
When the type is a root type of a type family, specifying the object-identity is obligatory.
-
type-identity
-
A type identity provider specifying
how to map the runtime-type information of type in the underlying relational database system.
When the type is a root type of a type family, specifying the type-identity is obligatory.
-
proxy-provider
-
One of the proxy providers defining the proxy
model of the type. The proxy-provider has to be specified for
non-abstract persistent types.
-
member-mappings
-
Zero or more <Member>,
<DefineProperty> or
<DefineMethod> element used to define
the mapping of individual members of type in the underlying relational database system.
-
type-modifier
-
Other custom elements that can extend the functionality of
the type.
Remarks
The
<Type> element
is used to specify the representation of
object state in the underlying relational database system for persistent types.
The type mapping can be conducted by the schema's author by using
several building blocks provided by
Genome
:
- type extent provider -
specifies how the fields of the type are stored
in the underlying relational database system.
- object identity provider -
specifies how the instances of the type are identified.
- type identity provider -
specifies how to map the runtime-type information of type instances
into the database.
- proxy provider -
defines the proxy model of the type.
The proxy provider has to be specified on non-abstract persistent types.
The
<Type> element
can also contain the
member mapping elements, which specify the mapping between the behaviour of individual members and
the natural language of the underlying relational database system.
Not all members necessarily need to be mapped in the schema definition file.
The root type of a type is the first ancestor which has an associated table
in the underlying relational database system. The root type is not necessarily the root of the class hierarchy,
but the base types of the root type are not stored in the underlying relational database system.
Each root type defines a type family that consists of the root type and all its descendants in the
inheritance tree. Several behavioural aspects in
Genome
are specified for whole type families.
Requirements
Type: TechTalk.Genome.Schema.Builder.Xml.TypeXmlData
Assembly: TechTalk.Genome.dll
Version: 4.2.4
Editions: Professional, Evaluation, Express
Database Platforms: Microsoft SQL Server 2000, Microsoft SQL Server 2005, Oracle 9i Release 2, Oracle 10g Release 2
See Also
Type Extent Providers | Object Identity Providers | Type Identity Providers | Proxy Providers | <Member> Element