- Main Page
- Classes
- Files

# mgOvClassDefinition.h

Go to the documentation of this file.

    00001 //
    00002 // Copyright (C) 2004-2008  Autodesk, Inc.
    00003 //
    00004 // This library is free software; you can redistribute it and/or
    00005 // modify it under the terms of version 2.1 of the GNU Lesser
    00006 // General Public License as published by the Free Software Foundation.
    00007 //
    00008 // This library is distributed in the hope that it will be useful,
    00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00011 // Lesser General Public License for more details.
    00012 //
    00013 // You should have received a copy of the GNU Lesser General Public
    00014 // License along with this library; if not, write to the Free Software
    00015 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    00016 //
    00017
    00018 #pragma once
    00019
    00020 class FdoSqlServerOvClassDefinition;
    00021
    00022 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL
    00023 public __gc class OvPropertyDefinitionCollection;
    00024 public __gc class OvTable;
    00025 public __gc class OvGeometricColumn;
    00026
    00027 ///<summary>Concrete class defining physical schema overrides for a class definition.</summary>
    00028 public __gc class OvClassDefinition : public NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition
    00029 {
    00030 public:
    00031     ///<summary>Constructs a default of an NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition</summary>
    00032     OvClassDefinition();
    00033
    00034     ///<summary>Constructs an instance of an NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition using the specified arguments</summary>
    00035     /// <param name="name">Input name</param>
    00036     OvClassDefinition(System::String* name);
    00037
    00038     ///<summary>Gets a collection of SqlServer property overrides</summary>
    00039     /// <returns>Returns the collection of SqlServer property overrides</returns>
    00040     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvPropertyDefinitionCollection* get_Properties();
    00041
    00042     ///<summary>Gets the SqlServer table override for this class override</summary>
    00043     /// <returns>Returns NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable</returns>
    00044     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable* get_Table();
    00045
    00046     ///<summary>Sets the SqlServer table override for this class override</summary>
    00047     /// <param name="name">Input SqlServer table override</param>
    00048     /// <returns>Returns nothing</returns>
    00049     __property System::Void set_Table(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable* table);
    00050
    00051     ///<summary>Specifies which FDO property corresponds to the single SqlServer IDENTITY column.
    00052     /// This property corresponds to the singleton IDENTITY column of the SQL Server table.
    00053     /// This is not to be confused with the usual FDO identity properties, which instead
    00054     /// correspond to the primary key of a SQL Server table.
    00055     /// </summary>
    00056     /// <param name="name">Input SqlServer identity property name override.
    00057     /// An empty string means there is no identity column for this class.</param>
    00058     /// <returns>Returns nothing</returns>
    00059     __property System::Void set_IdentityPropertyName(System::String* identityPropertyName);
    00060
    00061     ///<summary>Gets which FDO property corresponds to the single SqlServer IDENTITY column</summary>
    00062     /// <returns>Returns the FDO property corresponding to the single SqlServer IDENTITY column,
    00063     /// or an empty string if there is no such property</returns>
    00064     __property System::String* get_IdentityPropertyName();
    00065
    00066     ///<summary>Retrieves the identity column's type, whether it is a non-globally-unique
    00067     /// identity column or a globally-unique identity column.</summary>
    00068     /// <remarks>Non-globally-unique identity columns have their value
    00069     /// automatically populated by SQL Server on insert; the first value is set to the specified
    00070     /// IdentitySeed, and all subsequent values are set using the specified IdentityIncrement.
    00071     /// If defining such a column during ApplySchema, it must be one of the following SQL Server
    00072     /// native data types: decimal, int, numeric, smallint, bigint, or tinyint.  Note that the
    00073     /// “not for replication?identity column flag is not exposed.  Also note that the identifier
    00074     /// column must not be nullable and must not contain a default value.
    00075     /// Globally-unique identity columns do not have their value automatically populated by SQL Server.
    00076     /// Instead SQL Server relies on the default value or the user to populate this value.  To have
    00077     /// this value populated automatically on insert, the user should set the default value to use the
    00078     /// NEWID() function to obtain a globally-unique identity value.
    00079     /// This override is ignored on ApplySchema if this column belongs to an existing table in a
    00080     /// foreign database.  This override is also ignored if IdentityPropertyName is not specified.
    00081     /// </remarks>
    00082     /// <returns>Returns the type of the single IDENTITY column, if it exists</returns>
    00083     __property System::Boolean get_IdentityIsGloballyUnique();
    00084
    00085     ///<summary>Set the type of the single IDENTITY column, if it exists</summary>
    00086     /// <returns>Returns nothing</returns>
    00087     __property System::Void set_IdentityIsGloballyUnique(System::Boolean isGloballyUnique);
    00088
    00089     ///<summary>Sets the first value to use for the identity column, if there is one.</summary>
    00090     /// <remarks>This override defaults to 1.  This override is ignored on ApplySchema if
    00091     /// this column belongs to an existing table in a foreign database.  This override is also
    00092     /// ignored if IdentityPropertyName is not specified.</remarks>
    00093     /// <returns>Returns the first value to use for the identity column</returns>
    00094     __property System::Int32 get_IdentitySeed();
    00095
    00096     ///<summary>Gets the first value to use for the identity column, if there is one.</summary>
    00097     /// <returns>Returns nothing</returns>
    00098     __property System::Void set_IdentitySeed(System::Int32 identitySeed);
    00099
    00100     ///<summary>Gets the increment value to use for the identity column, if there is one.</summary>
    00101     /// <remarks>This override defaults to 1.  This override is ignored on ApplySchema if this
    00102     /// column belongs to an existing table in a foreign database.  This override is also ignored
    00103     /// if IdentityPropertyName is not specified.</remarks>
    00104     /// <returns>Returns the increment value to use for the identity column</returns>
    00105     __property System::Int32 get_IdentityIncrement();
    00106
    00107     ///<summary>Sets the increment value to use for the identity column, if there is one.</summary>
    00108     /// <returns>Returns nothing</returns>
    00109     __property System::Void set_IdentityIncrement(System::Int32 identityIncrement);
    00110
    00111 public private:
    00112     OvClassDefinition(System::IntPtr unmanaged, System::Boolean autoDelete);
    00113
    00114     inline FdoSqlServerOvClassDefinition* GetImpObj();
    00115 };
    00116
    00117 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL

Please send us your comment about this page