Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TemplatePagerField.cs
- Thread.cs
- TagPrefixCollection.cs
- DebuggerAttributes.cs
- LocalizableResourceBuilder.cs
- AdministrationHelpers.cs
- SyndicationElementExtension.cs
- XmlSchemaInclude.cs
- ListViewGroup.cs
- RadioButton.cs
- SessionStateContainer.cs
- ModifyActivitiesPropertyDescriptor.cs
- XmlException.cs
- WaitHandleCannotBeOpenedException.cs
- EnumBuilder.cs
- CurrentChangedEventManager.cs
- WindowsStartMenu.cs
- ProfileSettings.cs
- Validator.cs
- ContractNamespaceAttribute.cs
- PassportAuthenticationModule.cs
- SqlMethodAttribute.cs
- SqlBuffer.cs
- CompiledQueryCacheKey.cs
- DateTimeSerializationSection.cs
- TimeZone.cs
- EndpointNameMessageFilter.cs
- SessionStateContainer.cs
- GuidelineCollection.cs
- CompositeControl.cs
- PhonemeConverter.cs
- WebResponse.cs
- DelegatingMessage.cs
- MouseCaptureWithinProperty.cs
- SynchronizedKeyedCollection.cs
- DLinqDataModelProvider.cs
- FramingChannels.cs
- CheckedListBox.cs
- httpstaticobjectscollection.cs
- ReflectionTypeLoadException.cs
- SubclassTypeValidatorAttribute.cs
- RichTextBoxAutomationPeer.cs
- RoleGroup.cs
- DependencySource.cs
- TextServicesCompartmentContext.cs
- DSASignatureFormatter.cs
- sqlinternaltransaction.cs
- PerfProviderCollection.cs
- PersonalizationStateInfo.cs
- MeasurementDCInfo.cs
- RemoteWebConfigurationHostStream.cs
- SoapMessage.cs
- TextRunCache.cs
- XmlComment.cs
- OperationAbortedException.cs
- EncodingTable.cs
- XhtmlConformanceSection.cs
- StringCollectionMarkupSerializer.cs
- CollectionsUtil.cs
- DependencyPropertyKey.cs
- SerialPinChanges.cs
- ResourceCategoryAttribute.cs
- AlignmentXValidation.cs
- CompModSwitches.cs
- MenuItemStyleCollection.cs
- ImportContext.cs
- MruCache.cs
- SQLDateTime.cs
- FakeModelPropertyImpl.cs
- TimeSpanSecondsConverter.cs
- StopRoutingHandler.cs
- SortQuery.cs
- PointAnimationUsingKeyFrames.cs
- InkPresenter.cs
- ClientCultureInfo.cs
- ApplyImportsAction.cs
- MaskedTextBox.cs
- XmlSchemaSimpleContent.cs
- StatusStrip.cs
- WebBrowsableAttribute.cs
- PropertyDescriptorComparer.cs
- ProviderSettings.cs
- SqlDataSourceCache.cs
- ExtenderControl.cs
- Stream.cs
- Lease.cs
- ParallelRangeManager.cs
- AttachedProperty.cs
- KnowledgeBase.cs
- Duration.cs
- DesignTimeParseData.cs
- FontEditor.cs
- Composition.cs
- BufferModeSettings.cs
- TypeConverterValueSerializer.cs
- AuthenticatingEventArgs.cs
- Policy.cs
- SuspendDesigner.cs
- ThousandthOfEmRealPoints.cs
- TypeCollectionPropertyEditor.cs