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
- TextInfo.cs
- NameNode.cs
- DetailsViewPageEventArgs.cs
- DateTimeFormat.cs
- BehaviorEditorPart.cs
- BaseTypeViewSchema.cs
- SqlConnectionPoolGroupProviderInfo.cs
- PerformanceCounterManager.cs
- ChtmlImageAdapter.cs
- XmlDeclaration.cs
- FontConverter.cs
- XmlDomTextWriter.cs
- LinkUtilities.cs
- UrlAuthFailedErrorFormatter.cs
- MustUnderstandBehavior.cs
- Transform3D.cs
- InvalidTimeZoneException.cs
- ThreadAttributes.cs
- DesignerObject.cs
- DefaultWorkflowLoaderService.cs
- ListViewSortEventArgs.cs
- NumericUpDownAcceleration.cs
- LinearQuaternionKeyFrame.cs
- MembershipPasswordException.cs
- XmlFormatExtensionAttribute.cs
- EventTrigger.cs
- DataObjectSettingDataEventArgs.cs
- SystemIPGlobalStatistics.cs
- UrlRoutingHandler.cs
- HotCommands.cs
- DesignTimeParseData.cs
- IndexerNameAttribute.cs
- ComponentResourceKey.cs
- ObjectManager.cs
- mediaeventshelper.cs
- TokenizerHelper.cs
- CryptoSession.cs
- SR.cs
- EventWaitHandle.cs
- SliderAutomationPeer.cs
- MultipartIdentifier.cs
- CodeDOMUtility.cs
- EntityKeyElement.cs
- FontCollection.cs
- SharedUtils.cs
- DateTimeStorage.cs
- MenuItemBinding.cs
- Message.cs
- TabControlCancelEvent.cs
- EntityKeyElement.cs
- CellConstantDomain.cs
- DockProviderWrapper.cs
- DetailsViewAutoFormat.cs
- MarshalByRefObject.cs
- ITextView.cs
- xml.cs
- BaseUriHelper.cs
- ErrorTableItemStyle.cs
- ToolStripDropDownMenu.cs
- EntityRecordInfo.cs
- DesignerCategoryAttribute.cs
- Button.cs
- Stopwatch.cs
- CellConstant.cs
- ConstraintEnumerator.cs
- CacheEntry.cs
- WindowsGrip.cs
- IPAddressCollection.cs
- SubstitutionList.cs
- PolygonHotSpot.cs
- CombinedGeometry.cs
- FileLogRecordStream.cs
- DescendantQuery.cs
- HijriCalendar.cs
- TransformDescriptor.cs
- SafePEFileHandle.cs
- UIElement3DAutomationPeer.cs
- FilterException.cs
- CustomAttributeFormatException.cs
- ReferenceCountedObject.cs
- Transform.cs
- CapabilitiesState.cs
- InternalSafeNativeMethods.cs
- CompilerGeneratedAttribute.cs
- ColorDialog.cs
- WFItemsToSpacerVisibility.cs
- WebBrowserNavigatedEventHandler.cs
- InkCanvasInnerCanvas.cs
- OdbcReferenceCollection.cs
- XmlMapping.cs
- CookielessData.cs
- WebServiceEnumData.cs
- MetaTableHelper.cs
- HtmlControlPersistable.cs
- TextBox.cs
- ObjectReaderCompiler.cs
- CapabilitiesUse.cs
- WebPartConnectionsDisconnectVerb.cs
- XmlSchemaInferenceException.cs
- QilScopedVisitor.cs