Databases Reference
In-Depth Information
.
Nonprocessable major objects have only to be deployed before they can be used.
They are pure metadata objects; they do not work with data. For example, the
Assembly
object is a nonprocessable major object: It can be created on the server
independent of its parents (
Server
or
Database
), but because it does not have data
associated with it, it does not have to be processed before it can be used by the
client applications.
Minor Objects
A minor object can be created, updated, or deleted only as part of an operation on its
parent object. The
Name
and
ID
properties of minor objects follow the same rules as major
objects. That is, the value of the
ID
property cannot be changed over the lifetime of the
object, but the value of the
Name
property can.
Minor objects can be divided further:
.
Named minor objects contain
Name
and
ID
properties, and can be referenced by
them. A minor object can also contain a
Description
property—extended human-
readable information about the object—and an
Annotation
property that contains
valid XML that allows enrichment of the model and provides extensible information
about the object. The
Hierarchy
object is a good example of a named minor object
because it cannot be created on its own; it can be created only as part of its parent
Dimension
.
.
Unnamed minor objects exist only as part of the collection they belong to. They do
not have
Name
or
ID
properties; for example,
Translation
or
Account
objects have
neither
Name
nor
ID
properties.
From an implementation point of view, named minor objects are derived from the
unnamed minor objects, nonprocessable major objects are derived from named minor
objects, and processable major objects are derived from unprocessable major objects.
Unnamed Objects and Collections of Unnamed Objects
All unnamed minor objects are derived from the
System.ComponentModel.Component
class;
therefore, all objects in the AMO object model are derived from the
System.Component
Model.Component
class. The AMO classes are designed to be components, so a class can be
used in a Rapid Application Development (RAD) environment such as Visual Studio .NET,
in which they can be dragged and dropped onto a form and manipulated on a design
surface.
All AMO objects also implement the
ICloneable
interface, which allows you to create new
instances of the object with the same properties (see Figure 34.2). AMO objects can be
created in two ways:
System.ComponentModel.Component
System.ICloneble
AnalysisServices.MinorObject
FIGURE 34.2
All AMO objects implement the ICloneable standard interface.
Search WWH ::
Custom Search