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
- ListBindableAttribute.cs
- Site.cs
- NotImplementedException.cs
- HttpTransportElement.cs
- StreamResourceInfo.cs
- AssociatedControlConverter.cs
- MetadataCacheItem.cs
- SchemaConstraints.cs
- Schema.cs
- Span.cs
- WebScriptMetadataFormatter.cs
- InvalidWMPVersionException.cs
- X509Utils.cs
- CryptoApi.cs
- Win32PrintDialog.cs
- InvokeHandlers.cs
- Roles.cs
- EdmValidator.cs
- CodeVariableReferenceExpression.cs
- UnconditionalPolicy.cs
- GestureRecognitionResult.cs
- Timer.cs
- KeyPullup.cs
- RowType.cs
- TemplateControlBuildProvider.cs
- HelpEvent.cs
- PartialArray.cs
- TextInfo.cs
- WebPartDeleteVerb.cs
- ProfileSettings.cs
- ListControlDataBindingHandler.cs
- SrgsNameValueTag.cs
- PeerCollaborationPermission.cs
- WorkflowInstance.cs
- BuildResultCache.cs
- SessionPageStateSection.cs
- WhitespaceRuleReader.cs
- CommandValueSerializer.cs
- DeferrableContent.cs
- PageThemeCodeDomTreeGenerator.cs
- ObjectQueryExecutionPlan.cs
- XamlBrushSerializer.cs
- PasswordTextNavigator.cs
- MasterPageParser.cs
- XamlDesignerSerializationManager.cs
- ProxyFragment.cs
- NotifyCollectionChangedEventArgs.cs
- ReferenceEqualityComparer.cs
- Point3DKeyFrameCollection.cs
- ResourceReferenceExpression.cs
- MonitoringDescriptionAttribute.cs
- VSWCFServiceContractGenerator.cs
- SubordinateTransaction.cs
- oledbmetadatacollectionnames.cs
- TreeNodeEventArgs.cs
- XmlSignatureProperties.cs
- TypeSystem.cs
- AutomationPeer.cs
- CodeValidator.cs
- Command.cs
- DoubleKeyFrameCollection.cs
- Quad.cs
- StructuralType.cs
- ArithmeticException.cs
- BitStream.cs
- DefaultBindingPropertyAttribute.cs
- ModuleElement.cs
- HitTestResult.cs
- ProfileManager.cs
- GroupDescription.cs
- UInt16Converter.cs
- ACE.cs
- AssociationType.cs
- TextFormatterContext.cs
- LinkUtilities.cs
- TextBoxAutoCompleteSourceConverter.cs
- MethodAccessException.cs
- UtilityExtension.cs
- BaseDataListPage.cs
- BinaryParser.cs
- DataGridViewColumnStateChangedEventArgs.cs
- UInt16.cs
- SecureStringHasher.cs
- CodeValidator.cs
- StylusPointPropertyInfo.cs
- OdbcHandle.cs
- InternalPermissions.cs
- Label.cs
- GrammarBuilderPhrase.cs
- _FtpDataStream.cs
- UInt32Storage.cs
- ReferencedType.cs
- MouseGestureConverter.cs
- DefaultPrintController.cs
- LogSwitch.cs
- SemanticKeyElement.cs
- UriSectionData.cs
- StaticDataManager.cs
- PageVisual.cs
- XmlLoader.cs