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
- CodeCatchClauseCollection.cs
- CreateUserWizardStep.cs
- ScriptResourceHandler.cs
- ToolStripStatusLabel.cs
- ScriptHandlerFactory.cs
- ChannelFactoryRefCache.cs
- DocumentViewerConstants.cs
- QilGenerator.cs
- RecordManager.cs
- ImageAutomationPeer.cs
- CalendarDataBindingHandler.cs
- SessionStateSection.cs
- CompositeControl.cs
- ChangeInterceptorAttribute.cs
- SettingsContext.cs
- srgsitem.cs
- XPathSelfQuery.cs
- configsystem.cs
- OleDbConnectionFactory.cs
- OracleCommandBuilder.cs
- OleDbConnectionInternal.cs
- TraceContext.cs
- PersistenceTask.cs
- dataobject.cs
- MetafileHeaderEmf.cs
- sqlinternaltransaction.cs
- AspProxy.cs
- QueuePathEditor.cs
- SmtpNetworkElement.cs
- DialogResultConverter.cs
- TranslateTransform3D.cs
- ExpandCollapsePattern.cs
- TypeToken.cs
- WebBrowserNavigatedEventHandler.cs
- StyleSheet.cs
- TypeTypeConverter.cs
- Parameter.cs
- UnsafeNativeMethodsCLR.cs
- StructureChangedEventArgs.cs
- AdRotator.cs
- TextEffectCollection.cs
- SchemaElementDecl.cs
- SqlTrackingQuery.cs
- SingleAnimationUsingKeyFrames.cs
- AmbientValueAttribute.cs
- XmlnsPrefixAttribute.cs
- LightweightCodeGenerator.cs
- JsonServiceDocumentSerializer.cs
- SocketException.cs
- XmlLinkedNode.cs
- SQLGuidStorage.cs
- MediaEntryAttribute.cs
- StorageAssociationTypeMapping.cs
- unsafenativemethodstextservices.cs
- SqlDelegatedTransaction.cs
- DataControlFieldHeaderCell.cs
- ArglessEventHandlerProxy.cs
- PopupControlService.cs
- Padding.cs
- SafeHandles.cs
- DesignerProperties.cs
- DataGridViewLinkCell.cs
- TranslateTransform.cs
- GridViewColumn.cs
- PersonalizationProviderHelper.cs
- MediaContext.cs
- BitmapFrame.cs
- BStrWrapper.cs
- OdbcConnection.cs
- SiteMapSection.cs
- externdll.cs
- DecimalConverter.cs
- UserPreferenceChangingEventArgs.cs
- XmlSerializerSection.cs
- OptimalTextSource.cs
- HierarchicalDataTemplate.cs
- AttachedPropertiesService.cs
- HtmlDocument.cs
- sqlcontext.cs
- KeySpline.cs
- BitmapEffectCollection.cs
- RegexStringValidatorAttribute.cs
- HtmlInputButton.cs
- LinearGradientBrush.cs
- DataColumnMapping.cs
- SecurityMessageProperty.cs
- DetailsViewPageEventArgs.cs
- TagMapCollection.cs
- HtmlControlPersistable.cs
- Bold.cs
- QueryStack.cs
- StringPropertyBuilder.cs
- SqlWebEventProvider.cs
- BuildManager.cs
- ScrollContentPresenter.cs
- Span.cs
- Bold.cs
- SchemaImporterExtension.cs
- StateWorkerRequest.cs
- ConfigPathUtility.cs