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
- Compiler.cs
- Control.cs
- HttpConfigurationSystem.cs
- SqlLiftWhereClauses.cs
- StorageBasedPackageProperties.cs
- ComponentSerializationService.cs
- DesignerWidgets.cs
- XamlPoint3DCollectionSerializer.cs
- PreloadedPackages.cs
- StringBlob.cs
- SkipStoryboardToFill.cs
- FixedNode.cs
- CodeObject.cs
- SettingsPropertyIsReadOnlyException.cs
- StorageConditionPropertyMapping.cs
- PriorityQueue.cs
- ExtenderControl.cs
- SharedPerformanceCounter.cs
- ConstructorArgumentAttribute.cs
- COM2ExtendedUITypeEditor.cs
- TextPointerBase.cs
- SqlError.cs
- RefExpr.cs
- DBCommand.cs
- DayRenderEvent.cs
- GenericParameterDataContract.cs
- WindowsTitleBar.cs
- DateTimeSerializationSection.cs
- Constraint.cs
- AssociationProvider.cs
- QilChoice.cs
- PersianCalendar.cs
- FlagsAttribute.cs
- MessagePartDescription.cs
- DataBindingsDialog.cs
- RectangleConverter.cs
- SiteMapNodeCollection.cs
- DependentList.cs
- ListViewGroupConverter.cs
- DefaultPropertyAttribute.cs
- VirtualDirectoryMappingCollection.cs
- SubMenuStyleCollection.cs
- BindingContext.cs
- CacheAxisQuery.cs
- SequenceDesigner.cs
- Rect3DValueSerializer.cs
- SqlInternalConnectionSmi.cs
- EdgeModeValidation.cs
- ListControl.cs
- ReferentialConstraint.cs
- IisTraceWebEventProvider.cs
- XmlConvert.cs
- DataSetFieldSchema.cs
- PagesSection.cs
- XmlChildEnumerator.cs
- RouteUrlExpressionBuilder.cs
- ComplexLine.cs
- DoubleAnimation.cs
- AutomationPeer.cs
- SHA1.cs
- UriParserTemplates.cs
- HttpListenerResponse.cs
- ObjectQueryState.cs
- Assign.cs
- ToolStripComboBox.cs
- validationstate.cs
- WebConfigurationHostFileChange.cs
- ConnectionPointGlyph.cs
- PointLightBase.cs
- InteropEnvironment.cs
- SqlProviderServices.cs
- XmlSchemaElement.cs
- FormViewDeleteEventArgs.cs
- CodeBinaryOperatorExpression.cs
- DynamicILGenerator.cs
- BamlCollectionHolder.cs
- MailWebEventProvider.cs
- SessionViewState.cs
- SecurityDocument.cs
- ObjectRef.cs
- DBConnection.cs
- PartitionedDataSource.cs
- Maps.cs
- MarshalByValueComponent.cs
- GridToolTip.cs
- ObjectDataSourceStatusEventArgs.cs
- BitmapEffectDrawing.cs
- HwndHost.cs
- OdbcFactory.cs
- sqlmetadatafactory.cs
- DocumentGrid.cs
- TraceProvider.cs
- TerminatorSinks.cs
- COM2Enum.cs
- ClientScriptItemCollection.cs
- StaticDataManager.cs
- RelatedPropertyManager.cs
- ListViewItem.cs
- FixedPageAutomationPeer.cs
- _AuthenticationState.cs