Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / EntityClient / EntityProviderServices.cs / 1305376 / EntityProviderServices.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //----------------------------------------------------------------------------- namespace System.Data.EntityClient { using System.Collections.Generic; using System.Data.Common.CommandTrees; using System.Data.Common; using System.IO; using System.Xml; using System.Data.Metadata.Edm; using System.Diagnostics; ////// The class for provider services of the entity client /// internal sealed class EntityProviderServices : DbProviderServices { ////// Singleton object; /// internal static readonly EntityProviderServices Instance = new EntityProviderServices(); ////// Create a Command Definition object, given the connection and command tree /// /// connection to the underlying provider /// command tree for the statement ///an exectable command definition object ///connection and commandTree arguments must not be null protected override DbCommandDefinition CreateDbCommandDefinition(DbProviderManifest providerManifest, DbCommandTree commandTree) { EntityUtil.CheckArgumentNull(providerManifest, "providerManifest"); EntityUtil.CheckArgumentNull(commandTree, "commandTree"); StoreItemCollection storeMetadata = (StoreItemCollection)commandTree.MetadataWorkspace.GetItemCollection(DataSpace.SSpace); return this.CreateCommandDefinition(storeMetadata.StoreProviderFactory, commandTree); } internal EntityCommandDefinition CreateCommandDefinition(DbProviderFactory storeProviderFactory, DbCommandTree commandTree) { EntityUtil.CheckArgumentNull(storeProviderFactory, "storeProviderFactory"); Debug.Assert(commandTree != null, "Command Tree cannot be null"); return new EntityCommandDefinition(storeProviderFactory, commandTree); } ////// Ensures that the data space of the specified command tree is the model (C-) space /// /// The command tree for which the data space should be validated internal override void ValidateDataSpace(DbCommandTree commandTree) { Debug.Assert(commandTree != null, "Ensure command tree is non-null before calling ValidateDataSpace"); if (commandTree.DataSpace != DataSpace.CSpace) { throw EntityUtil.ProviderIncompatible(Entity.Strings.EntityClient_RequiresNonStoreCommandTree); } } ////// Create a EntityCommandDefinition object based on the prototype command /// This method is intended for provider writers to build a default command definition /// from a command. /// /// ////// prototype argument must not be null ///prototype argument must be a EntityCommand public override DbCommandDefinition CreateCommandDefinition(DbCommand prototype) { EntityUtil.CheckArgumentNull(prototype, "prototype"); return ((EntityCommand)prototype).GetCommandDefinition(); } protected override string GetDbProviderManifestToken(DbConnection connection) { EntityUtil.CheckArgumentNull(connection, "connection"); if (connection.GetType() != typeof(EntityConnection)) { throw EntityUtil.Argument(System.Data.Entity.Strings.Mapping_Provider_WrongConnectionType(typeof(EntityConnection))); } return MetadataItem.EdmProviderManifest.Token; } protected override DbProviderManifest GetDbProviderManifest(string versionHint) { EntityUtil.CheckArgumentNull(versionHint, "versionHint"); return MetadataItem.EdmProviderManifest; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //----------------------------------------------------------------------------- namespace System.Data.EntityClient { using System.Collections.Generic; using System.Data.Common.CommandTrees; using System.Data.Common; using System.IO; using System.Xml; using System.Data.Metadata.Edm; using System.Diagnostics; ////// The class for provider services of the entity client /// internal sealed class EntityProviderServices : DbProviderServices { ////// Singleton object; /// internal static readonly EntityProviderServices Instance = new EntityProviderServices(); ////// Create a Command Definition object, given the connection and command tree /// /// connection to the underlying provider /// command tree for the statement ///an exectable command definition object ///connection and commandTree arguments must not be null protected override DbCommandDefinition CreateDbCommandDefinition(DbProviderManifest providerManifest, DbCommandTree commandTree) { EntityUtil.CheckArgumentNull(providerManifest, "providerManifest"); EntityUtil.CheckArgumentNull(commandTree, "commandTree"); StoreItemCollection storeMetadata = (StoreItemCollection)commandTree.MetadataWorkspace.GetItemCollection(DataSpace.SSpace); return this.CreateCommandDefinition(storeMetadata.StoreProviderFactory, commandTree); } internal EntityCommandDefinition CreateCommandDefinition(DbProviderFactory storeProviderFactory, DbCommandTree commandTree) { EntityUtil.CheckArgumentNull(storeProviderFactory, "storeProviderFactory"); Debug.Assert(commandTree != null, "Command Tree cannot be null"); return new EntityCommandDefinition(storeProviderFactory, commandTree); } ////// Ensures that the data space of the specified command tree is the model (C-) space /// /// The command tree for which the data space should be validated internal override void ValidateDataSpace(DbCommandTree commandTree) { Debug.Assert(commandTree != null, "Ensure command tree is non-null before calling ValidateDataSpace"); if (commandTree.DataSpace != DataSpace.CSpace) { throw EntityUtil.ProviderIncompatible(Entity.Strings.EntityClient_RequiresNonStoreCommandTree); } } ////// Create a EntityCommandDefinition object based on the prototype command /// This method is intended for provider writers to build a default command definition /// from a command. /// /// ////// prototype argument must not be null ///prototype argument must be a EntityCommand public override DbCommandDefinition CreateCommandDefinition(DbCommand prototype) { EntityUtil.CheckArgumentNull(prototype, "prototype"); return ((EntityCommand)prototype).GetCommandDefinition(); } protected override string GetDbProviderManifestToken(DbConnection connection) { EntityUtil.CheckArgumentNull(connection, "connection"); if (connection.GetType() != typeof(EntityConnection)) { throw EntityUtil.Argument(System.Data.Entity.Strings.Mapping_Provider_WrongConnectionType(typeof(EntityConnection))); } return MetadataItem.EdmProviderManifest.Token; } protected override DbProviderManifest GetDbProviderManifest(string versionHint) { EntityUtil.CheckArgumentNull(versionHint, "versionHint"); return MetadataItem.EdmProviderManifest; } } } // 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
- mda.cs
- PropertyGroupDescription.cs
- LocalizationComments.cs
- ProcessRequestArgs.cs
- DataGridViewCellParsingEventArgs.cs
- InheritablePropertyChangeInfo.cs
- SHA1CryptoServiceProvider.cs
- Underline.cs
- CheckPair.cs
- InputBinding.cs
- Certificate.cs
- WindowsAuthenticationEventArgs.cs
- XmlDocumentFieldSchema.cs
- ProxyManager.cs
- ReturnEventArgs.cs
- FontStyle.cs
- TabItemAutomationPeer.cs
- UrlAuthFailedErrorFormatter.cs
- PrimaryKeyTypeConverter.cs
- XmlQueryOutput.cs
- HierarchicalDataBoundControl.cs
- smtppermission.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- SqlDataSourceSelectingEventArgs.cs
- WeakReferenceKey.cs
- GifBitmapDecoder.cs
- DataPagerFieldCollection.cs
- KnownTypesHelper.cs
- ViewKeyConstraint.cs
- ImageFormat.cs
- LocatorPartList.cs
- CaseInsensitiveHashCodeProvider.cs
- WithParamAction.cs
- NamespaceCollection.cs
- DataColumnMappingCollection.cs
- DynamicPropertyHolder.cs
- ServiceDocument.cs
- Completion.cs
- SystemGatewayIPAddressInformation.cs
- VirtualDirectoryMappingCollection.cs
- SpecularMaterial.cs
- IPAddressCollection.cs
- LineGeometry.cs
- SmiContextFactory.cs
- StyleCollection.cs
- XmlEntityReference.cs
- Timer.cs
- CngKeyBlobFormat.cs
- WebContentFormatHelper.cs
- ComboBox.cs
- filewebresponse.cs
- ListViewEditEventArgs.cs
- DesignerImageAdapter.cs
- Geometry.cs
- DynamicMetaObject.cs
- PartialTrustHelpers.cs
- InternalDispatchObject.cs
- Point4DConverter.cs
- Pair.cs
- FormsAuthenticationConfiguration.cs
- EndpointReference.cs
- References.cs
- ItemCollection.cs
- SafeFileHandle.cs
- EpmSyndicationContentSerializer.cs
- XmlSchemaRedefine.cs
- TableLayoutPanelCellPosition.cs
- StaticExtension.cs
- VisualStyleTypesAndProperties.cs
- ShutDownListener.cs
- ContentFileHelper.cs
- DataServiceHost.cs
- UnknownBitmapEncoder.cs
- SelectionItemProviderWrapper.cs
- Vector3DAnimationBase.cs
- EncryptedXml.cs
- CustomAttribute.cs
- SettingsAttributes.cs
- UIElement.cs
- GridViewAutomationPeer.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- KnownIds.cs
- ButtonColumn.cs
- XmlImplementation.cs
- XmlTypeAttribute.cs
- PropertyTab.cs
- EntityModelSchemaGenerator.cs
- TypedColumnHandler.cs
- JpegBitmapDecoder.cs
- ContextMenu.cs
- GeometryModel3D.cs
- Mapping.cs
- WindowsSecurityToken.cs
- FontCacheLogic.cs
- SqlRecordBuffer.cs
- FileDialogCustomPlace.cs
- CdpEqualityComparer.cs
- DataGridViewCellParsingEventArgs.cs
- smtpconnection.cs
- SecurityImpersonationBehavior.cs