A C# exposure definition identifies a set of JADE classes, methods, and properties that are used to generate a set of C# classes, which in turn are built into a .NET class library. (For details about using .NET to develop or maintain JADE applications from a .NET integrated development environment, see the
The C# framework, which encapsulates the JADE Object Manager and the core JADE programming model for Windows, enables C# and .NET developers to take advantage of JADE’s server-side capabilities to:
Use JADE to store and manipulate complex data
Take advantage of the automatic object caching and distributed processing of JADE, by using the services of the JADE platform from their C# code (for example, to store and retrieve JADE objects and to invoke JADE business rules)
The generated .NET class library supports the use of the .NET Language Integrated Query (LINQ) facilities to allow access to JADE objects in a natural and consistent manner for .NET developers.
As DynaDictionary instances cannot be included in a C# exposure, classes and properties whose type inherits from the DynaDictionary class are not available for selection. In addition, uses of the ExternalArray, ExternalDictionary, and ExternalSet subclasses of the ExternalCollection class are not supported by the JADE C# exposure, and are excluded from the generated C#. The C# Exposure Wizard ignores uses of these classes in the list of features that can be exposed (for example, a property reference).
Specify your C# exposure definitions within the JADE development environment, by using the C# Exposure Wizard.
A C# exposure definition is extracted or loaded when the schema in which it is defined is extracted or loaded.
A new set of C# classes is created each time you generate the C# exposure. (For details, see "Generating the C# Classes", later in this chapter.)
The C# exposure definition is not updated when changes are made to your JADE database. (You must regenerate the C# classes or maintain them yourself, although we do not recommend the latter action.)
For details about the software required to use the C# classes, see "