Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / DbProviderManifest.cs / 1305376 / DbProviderManifest.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data.Metadata.Edm; using System.Xml; namespace System.Data.Common { ////// Metadata Interface for all CLR types types /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] public abstract class DbProviderManifest { ////// Constructor /// protected DbProviderManifest() { } ///Value to pass to GetInformation to get the StoreSchemaDefinition public static readonly string StoreSchemaDefinition = "StoreSchemaDefinition"; ///Value to pass to GetInformation to get the StoreSchemaMapping public static readonly string StoreSchemaMapping = "StoreSchemaMapping"; ///Value to pass to GetInformation to get the ConceptualSchemaDefinition public static readonly string ConceptualSchemaDefinition = "ConceptualSchemaDefinition"; // System Facet Info ////// Name of the MaxLength Facet /// internal const string MaxLengthFacetName = "MaxLength"; ////// Name of the Unicode Facet /// internal const string UnicodeFacetName = "Unicode"; ////// Name of the FixedLength Facet /// internal const string FixedLengthFacetName = "FixedLength"; ////// Name of the Precision Facet /// internal const string PrecisionFacetName = "Precision"; ////// Name of the Scale Facet /// internal const string ScaleFacetName = "Scale"; ////// Name of the Nullable Facet /// internal const string NullableFacetName = "Nullable"; ////// Name of the DefaultValue Facet /// internal const string DefaultValueFacetName = "DefaultValue"; ////// Name of the Collation Facet /// internal const string CollationFacetName = "Collation"; ////// Returns the namespace used by this provider manifest /// public abstract string NamespaceName {get;} ////// Return the set of types supported by the store /// ///A collection of primitive types public abstract System.Collections.ObjectModel.ReadOnlyCollectionGetStoreTypes(); /// /// Returns all the edm functions supported by the provider manifest. /// ///A collection of edm functions. public abstract System.Collections.ObjectModel.ReadOnlyCollectionGetStoreFunctions(); /// /// Returns all the FacetDescriptions for a particular type /// /// the type to return FacetDescriptions for ///The FacetDescriptions for the type given [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "edm")] public abstract System.Collections.ObjectModel.ReadOnlyCollectionGetFacetDescriptions(EdmType edmType); /// /// This method allows a provider writer to take a type and a set of facets /// and reason about what the best mapped equivalent type in EDM would be. /// /// A TypeUsage encapsulating a store type and a set of facets ///A TypeUsage encapsulating an EDM type and a set of facets [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Edm")] public abstract TypeUsage GetEdmType(TypeUsage storeType); ////// This method allows a provider writer to take a type and a set of facets /// and reason about what the best mapped equivalent type in the store would be. /// /// A TypeUsage encapsulating an EDM type and a set of facets ///A TypeUsage encapsulating a store type and a set of facets [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "edm")] public abstract TypeUsage GetStoreType(TypeUsage edmType); ////// Providers should override this to return information specific to their provider. /// /// This method should never return null. /// /// The name of the information to be retrieved. ///An XmlReader at the begining of the information requested. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")] protected abstract XmlReader GetDbInformation(string informationType); ////// Gets framework and provider specific information /// /// This method should never return null. /// /// The name of the information to be retrieved. ///An XmlReader at the begining of the information requested. public XmlReader GetInformation(string informationType) { XmlReader reader = null; try { reader = GetDbInformation(informationType); } catch (Exception e) { // we should not be wrapping all exceptions if (EntityUtil.IsCatchableExceptionType(e)) { // we don't want folks to have to know all the various types of exceptions that can // occur, so we just rethrow a ProviderIncompatibleException and make whatever we caught // the inner exception of it. throw EntityUtil.ProviderIncompatible( System.Data.Entity.Strings.EntityClient_FailedToGetInformation(informationType), e); } throw; } if (reader == null) { // if the provider returned null for the conceptual schema definition, return the default one if (informationType == ConceptualSchemaDefinition) { return DbProviderServices.GetConceptualSchemaDescription(); } throw EntityUtil.ProviderIncompatible(System.Data.Entity.Strings.ProviderReturnedNullForGetDbInformation(informationType)); } return reader; } ////// Does the provider support escaping strings to be used as patterns in a Like expression. /// If the provider overrides this method to return true, /// If the provider supports escaping, the character that would be used /// as the escape character ///should /// also be overridden. /// True, if this provider supports escaping strings to be used as patterns in a Like expression, /// false otherwise. The default implementation returns false. public virtual bool SupportsEscapingLikeArgument(out char escapeCharacter) { escapeCharacter = default(char); return false; } ////// Provider writers should override this method to returns the argument with the wildcards and the escape /// character escaped. This method is only used if /// The argument to be escaped ///returns true. /// The argument with the wildcards and the escape character escaped public virtual string EscapeLikeArgument(string argument) { throw EntityUtil.ProviderIncompatible(System.Data.Entity.Strings.ProviderShouldOverrideEscapeLikeArgument); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SymLanguageType.cs
- UnauthorizedAccessException.cs
- MatrixTransform3D.cs
- MetafileEditor.cs
- OleDbWrapper.cs
- Grid.cs
- StringCollection.cs
- ImageConverter.cs
- ValidatingPropertiesEventArgs.cs
- RectAnimationBase.cs
- X509Certificate2Collection.cs
- AssemblyResourceLoader.cs
- XmlMapping.cs
- IdleTimeoutMonitor.cs
- ResolveMatchesMessage11.cs
- SplitterPanel.cs
- UnaryExpression.cs
- SystemIPv6InterfaceProperties.cs
- SymLanguageType.cs
- DocumentPageViewAutomationPeer.cs
- ValuePatternIdentifiers.cs
- OutputScope.cs
- IntegerFacetDescriptionElement.cs
- COMException.cs
- SchemaUtility.cs
- CollectionAdapters.cs
- IgnoreSectionHandler.cs
- VScrollProperties.cs
- HorizontalAlignConverter.cs
- OutputCacheSettingsSection.cs
- DataServiceKeyAttribute.cs
- WebDisplayNameAttribute.cs
- BaseValidator.cs
- PropertyValueChangedEvent.cs
- ProcessModelInfo.cs
- CodeLabeledStatement.cs
- CompositeControl.cs
- ThousandthOfEmRealPoints.cs
- CodeMemberEvent.cs
- ContextBase.cs
- ImageListImageEditor.cs
- OrderedDictionary.cs
- AuthenticationModulesSection.cs
- SoapWriter.cs
- XhtmlBasicValidatorAdapter.cs
- TypeUsage.cs
- DispatchOperationRuntime.cs
- AtomServiceDocumentSerializer.cs
- PropertyGeneratedEventArgs.cs
- WorkflowEventArgs.cs
- DesignerActionItem.cs
- ComboBox.cs
- ChildTable.cs
- HtmlElementEventArgs.cs
- PolicyStatement.cs
- QilGenerator.cs
- InkCanvasAutomationPeer.cs
- TabControl.cs
- wgx_exports.cs
- WebPartTransformerCollection.cs
- CurrentChangingEventManager.cs
- ExpressionConverter.cs
- AssertFilter.cs
- SystemFonts.cs
- NetPeerTcpBindingElement.cs
- ConnectionPointConverter.cs
- StringFormat.cs
- InfoCardService.cs
- QilReference.cs
- OdbcConnectionOpen.cs
- ControlAdapter.cs
- QuaternionConverter.cs
- TdsParserStaticMethods.cs
- SegmentInfo.cs
- ReachFixedPageSerializerAsync.cs
- WindowsFormsDesignerOptionService.cs
- MessageTraceRecord.cs
- ProtocolsConfiguration.cs
- OledbConnectionStringbuilder.cs
- Soap12ServerProtocol.cs
- TcpHostedTransportConfiguration.cs
- dbdatarecord.cs
- HMACMD5.cs
- ServiceOperation.cs
- ReadOnlyPropertyMetadata.cs
- JsonReaderWriterFactory.cs
- SoapBinding.cs
- ImageFormatConverter.cs
- XamlToRtfParser.cs
- DataServiceQueryOfT.cs
- RefType.cs
- CurrentChangingEventArgs.cs
- MachineKey.cs
- Lease.cs
- ToolStripItemClickedEventArgs.cs
- DataPagerFieldCollection.cs
- NumericUpDownAcceleration.cs
- PeerCollaboration.cs
- ReaderContextStackData.cs
- PagePropertiesChangingEventArgs.cs