Autodesk FDO Provider for SQLServer .NET API Reference

Autodesk FDO Provider SQLServer .NET API

.NET API Reference Autodesk FDO Provider for SQLServer

mgOvClassDefinition.h

Go to the documentation of this file.
00001 /*
00002 * (C) Copyright 2005 by Autodesk, Inc. All Rights Reserved.
00003 *
00004 * By using this code, you are agreeing to the terms and conditions of
00005 * the License Agreement included in the documentation for this code.
00006 *
00007 * AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED, AS TO THE
00008 * CORRECTNESS OF THIS CODE OR ANY DERIVATIVE WORKS WHICH INCORPORATE
00009 * IT. AUTODESK PROVIDES THE CODE ON AN "AS-IS" BASIS AND EXPLICITLY
00010 * DISCLAIMS ANY LIABILITY, INCLUDING CONSEQUENTIAL AND INCIDENTAL
00011 * DAMAGES FOR ERRORS, OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00012 *
00013 * Use, duplication, or disclosure by the U.S. Government is subject
00014 * to restrictions set forth in FAR 52.227-19 (Commercial Computer
00015 * Software Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
00016 * (Rights in Technical Data and Computer Software), as applicable.
00017 *
00018 *
00019 */
00020 
00021 #pragma once
00022 
00023 class FdoSqlServerOvClassDefinition;
00024 
00025 BEGIN_NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER
00026 public __gc class OvPropertyDefinitionCollection;
00027 public __gc class OvTable;
00028 public __gc class OvGeometricColumn;
00029 
00030 ///<summary>Concrete class defining physical schema overrides for a class definition.</summary>
00031 public __gc class OvClassDefinition : public NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition
00032 {
00033 public:
00034     ///<summary>Constructs a default of an NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvClassDefinition</summary>
00035     OvClassDefinition();
00036 
00037     ///<summary>Constructs an instance of an NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvClassDefinition using the specified arguments</summary>
00038     /// <param name="name">Input name</param>
00039     OvClassDefinition(System::String* name);
00040 
00041     ///<summary>Gets a collection of SqlServer property overrides</summary>
00042     /// <returns>Returns the collection of SqlServer property overrides</returns>
00043     __property NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvPropertyDefinitionCollection* get_Properties();
00044 
00045     ///<summary>Gets the SqlServer table override for this class override</summary>
00046     /// <returns>Returns NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvTable</returns>
00047     __property NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvTable* get_Table();
00048 
00049     ///<summary>Sets the SqlServer table override for this class override</summary>
00050     /// <param name="name">Input SqlServer table override</param>
00051     /// <returns>Returns nothing</returns>
00052     __property System::Void set_Table(NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER::OvTable* table);
00053    
00054     ///<summary>Specifies which FDO property corresponds to the single SqlServer IDENTITY column.
00055     /// This property corresponds to the singleton IDENTITY column of the SQL Server table.
00056     /// This is not to be confused with the usual FDO identity properties, which instead 
00057     /// correspond to the primary key of a SQL Server table.
00058     /// </summary>
00059     /// <param name="name">Input SqlServer identity property name override.
00060     /// An empty string means there is no identity column for this class.</param>
00061     /// <returns>Returns nothing</returns>
00062     __property System::Void set_IdentityPropertyName(System::String* identityPropertyName);
00063 
00064     ///<summary>Gets which FDO property corresponds to the single SqlServer IDENTITY column</summary>
00065     /// <returns>Returns the FDO property corresponding to the single SqlServer IDENTITY column,
00066     /// or an empty string if there is no such property</returns>
00067     __property System::String* get_IdentityPropertyName();
00068 
00069     ///<summary>Retrieves the identity column's type, whether it is a non-globally-unique
00070     /// identity column or a globally-unique identity column.</summary>
00071     /// <remarks>Non-globally-unique identity columns have their value
00072     /// automatically populated by SQL Server on insert; the first value is set to the specified
00073     /// IdentitySeed, and all subsequent values are set using the specified IdentityIncrement.
00074     /// If defining such a column during ApplySchema, it must be one of the following SQL Server
00075     /// native data types: decimal, int, numeric, smallint, bigint, or tinyint.  Note that the
00076     /// “not for replication?identity column flag is not exposed.  Also note that the identifier
00077     /// column must not be nullable and must not contain a default value.
00078     /// Globally-unique identity columns do not have their value automatically populated by SQL Server.
00079     /// Instead SQL Server relies on the default value or the user to populate this value.  To have
00080     /// this value populated automatically on insert, the user should set the default value to use the
00081     /// NEWID() function to obtain a globally-unique identity value.
00082     /// This override is ignored on ApplySchema if this column belongs to an existing table in a
00083     /// foreign database.  This override is also ignored if IdentityPropertyName is not specified.
00084     /// </remarks>
00085     /// <returns>Returns the type of the single IDENTITY column, if it exists</returns>
00086     __property System::Boolean get_IdentityIsGloballyUnique();
00087 
00088     ///<summary>Set the type of the single IDENTITY column, if it exists</summary>
00089     /// <returns>Returns nothing</returns>
00090     __property System::Void set_IdentityIsGloballyUnique(System::Boolean isGloballyUnique);
00091 
00092     ///<summary>Sets the first value to use for the identity column, if there is one.</summary>
00093     /// <remarks>This override defaults to 1.  This override is ignored on ApplySchema if
00094     /// this column belongs to an existing table in a foreign database.  This override is also
00095     /// ignored if IdentityPropertyName is not specified.</remarks>
00096     /// <returns>Returns the first value to use for the identity column</returns>
00097     __property System::Int32 get_IdentitySeed();
00098 
00099     ///<summary>Gets the first value to use for the identity column, if there is one.</summary>
00100     /// <returns>Returns nothing</returns>
00101     __property System::Void set_IdentitySeed(System::Int32 identitySeed);
00102 
00103     ///<summary>Gets the increment value to use for the identity column, if there is one.</summary>
00104     /// <remarks>This override defaults to 1.  This override is ignored on ApplySchema if this
00105     /// column belongs to an existing table in a foreign database.  This override is also ignored
00106     /// if IdentityPropertyName is not specified.</remarks>
00107     /// <returns>Returns the increment value to use for the identity column</returns>
00108     __property System::Int32 get_IdentityIncrement();
00109 
00110     ///<summary>Sets the increment value to use for the identity column, if there is one.</summary>
00111     /// <returns>Returns nothing</returns>
00112     __property System::Void set_IdentityIncrement(System::Int32 identityIncrement);
00113 
00114 public private:
00115     OvClassDefinition(System::IntPtr unmanaged, System::Boolean autoDelete);
00116 
00117     inline FdoSqlServerOvClassDefinition* GetImpObj();
00118 };
00119 
00120 END_NAMESPACE_AUTODESK_GIS_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVER

Comments?