.NET API Reference | OSGeo FDO Provider for ODBC |
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_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL 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_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition</summary> 00035 OvClassDefinition(); 00036 00037 ///<summary>Constructs an instance of an NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::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_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvPropertyDefinitionCollection* get_Properties(); 00044 00045 ///<summary>Gets the SqlServer table override for this class override</summary> 00046 /// <returns>Returns NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable</returns> 00047 __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::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_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::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_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL
Comments? |