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
- Decorator.cs
- SystemColors.cs
- StoreItemCollection.Loader.cs
- CodeLinePragma.cs
- CollectionViewGroupInternal.cs
- XpsFixedDocumentSequenceReaderWriter.cs
- ListViewDataItem.cs
- Section.cs
- Exceptions.cs
- MenuEventArgs.cs
- FixedNode.cs
- ServiceMetadataExtension.cs
- EventHandlersStore.cs
- DataControlField.cs
- XmlQueryCardinality.cs
- HandleTable.cs
- UIHelper.cs
- DataViewManager.cs
- SelectorAutomationPeer.cs
- ManagementClass.cs
- WebException.cs
- TextDocumentView.cs
- ExtendedProperty.cs
- PenContexts.cs
- SrgsGrammar.cs
- TypeDescriptionProvider.cs
- CalendarDataBindingHandler.cs
- DataTableTypeConverter.cs
- UTF7Encoding.cs
- DataTableNewRowEvent.cs
- SEHException.cs
- AutoGeneratedField.cs
- WindowsAltTab.cs
- EditableRegion.cs
- EmbeddedMailObjectsCollection.cs
- HelpFileFileNameEditor.cs
- RNGCryptoServiceProvider.cs
- ResourceExpressionBuilder.cs
- TraceHandlerErrorFormatter.cs
- CodeIdentifier.cs
- SQLInt32Storage.cs
- DataRecord.cs
- StateRuntime.cs
- CreateUserWizard.cs
- DesignerLoader.cs
- Site.cs
- BindingEditor.xaml.cs
- Math.cs
- TreeIterators.cs
- ManagementExtension.cs
- SmtpAuthenticationManager.cs
- PictureBox.cs
- PoisonMessageException.cs
- DelegatingHeader.cs
- SHA384Managed.cs
- BamlRecordReader.cs
- HighlightComponent.cs
- SoapSchemaImporter.cs
- WebPartDescription.cs
- MatrixAnimationUsingPath.cs
- NullableIntSumAggregationOperator.cs
- TextTreePropertyUndoUnit.cs
- CodeFieldReferenceExpression.cs
- DataSourceSelectArguments.cs
- ValidateNames.cs
- SyndicationDeserializer.cs
- InsufficientMemoryException.cs
- ApplicationId.cs
- DesignerForm.cs
- NullReferenceException.cs
- IDispatchConstantAttribute.cs
- SoapHeaderAttribute.cs
- CodeCatchClause.cs
- SharedPersonalizationStateInfo.cs
- XsdCachingReader.cs
- DesignerSerializationOptionsAttribute.cs
- DecoratedNameAttribute.cs
- CompressEmulationStream.cs
- XPathDocumentIterator.cs
- AssemblyAttributesGoHere.cs
- Vector3D.cs
- Thread.cs
- TabControlEvent.cs
- ArrayTypeMismatchException.cs
- BeginEvent.cs
- ControlPersister.cs
- WebResponse.cs
- TokenBasedSetEnumerator.cs
- Semaphore.cs
- COAUTHINFO.cs
- MemberJoinTreeNode.cs
- ManifestSignedXml.cs
- MeshGeometry3D.cs
- TextEndOfLine.cs
- Lock.cs
- CharacterMetricsDictionary.cs
- UpdatePanelTriggerCollection.cs
- DataContext.cs
- ProbeMatches11.cs
- ClipboardProcessor.cs