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
- CollectionAdapters.cs
- MsmqUri.cs
- arc.cs
- XPathParser.cs
- ConfigXmlWhitespace.cs
- ListViewCommandEventArgs.cs
- CollectionType.cs
- UrlMapping.cs
- LongSumAggregationOperator.cs
- HijriCalendar.cs
- Clipboard.cs
- InvalidateEvent.cs
- UpdatePanelTriggerCollection.cs
- SqlProvider.cs
- EpmSourceTree.cs
- InkCanvas.cs
- MutexSecurity.cs
- MeshGeometry3D.cs
- LinqDataView.cs
- RowBinding.cs
- ConfigurationSectionGroup.cs
- DataListDesigner.cs
- ToolBarTray.cs
- PartManifestEntry.cs
- WorkflowViewElement.cs
- RuntimeResourceSet.cs
- SkewTransform.cs
- ParameterDataSourceExpression.cs
- BamlRecords.cs
- XamlSerializerUtil.cs
- DataProtection.cs
- ListViewSelectEventArgs.cs
- Rectangle.cs
- WebPartZoneDesigner.cs
- CatalogZone.cs
- TraceUtility.cs
- UriTemplatePathSegment.cs
- XmlCodeExporter.cs
- DictionaryEntry.cs
- SqlCommandSet.cs
- EncoderFallback.cs
- DocumentPageViewAutomationPeer.cs
- DependencyPropertyDescriptor.cs
- xdrvalidator.cs
- SystemGatewayIPAddressInformation.cs
- XmlSchemaAll.cs
- VisualTarget.cs
- CustomAttribute.cs
- GZipUtils.cs
- StyleModeStack.cs
- TableCellAutomationPeer.cs
- RenderDataDrawingContext.cs
- _LocalDataStoreMgr.cs
- _AutoWebProxyScriptWrapper.cs
- DesignerHost.cs
- thaishape.cs
- ContourSegment.cs
- xml.cs
- BindUriHelper.cs
- SystemBrushes.cs
- QilUnary.cs
- initElementDictionary.cs
- HttpDebugHandler.cs
- EntityDescriptor.cs
- XmlSchema.cs
- AssemblyLoader.cs
- CDSCollectionETWBCLProvider.cs
- TextRunCache.cs
- DeviceSpecificDialogCachedState.cs
- HostProtectionException.cs
- ScrollBarAutomationPeer.cs
- SqlClientPermission.cs
- EncodingInfo.cs
- PageContentAsyncResult.cs
- TdsParserSafeHandles.cs
- PersonalizationProviderCollection.cs
- StringCollection.cs
- CreateUserWizardDesigner.cs
- CfgRule.cs
- OleDbException.cs
- MessageProtectionOrder.cs
- SharedStatics.cs
- SingleObjectCollection.cs
- ToolBar.cs
- TextChange.cs
- CorrelationManager.cs
- FlowLayout.cs
- TransformedBitmap.cs
- PageContentAsyncResult.cs
- DisableDpiAwarenessAttribute.cs
- SafeFileHandle.cs
- Directory.cs
- LinqDataSourceUpdateEventArgs.cs
- SwitchElementsCollection.cs
- WindowsBrush.cs
- ClrProviderManifest.cs
- Atom10FormatterFactory.cs
- EntityProxyFactory.cs
- StateItem.cs
- FlowDocumentReaderAutomationPeer.cs