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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FlowDocumentFormatter.cs
- InputMethod.cs
- CodeCastExpression.cs
- StringWriter.cs
- StringPropertyBuilder.cs
- basecomparevalidator.cs
- Rect.cs
- UrlMappingsSection.cs
- SQLGuid.cs
- LocalizationComments.cs
- ServiceContractViewControl.cs
- ValuePattern.cs
- XAMLParseException.cs
- ZipFileInfo.cs
- EntityKey.cs
- ChannelSinkStacks.cs
- AppDomainShutdownMonitor.cs
- DesignerMetadata.cs
- AdornerDecorator.cs
- CommandBindingCollection.cs
- DesignerCommandSet.cs
- Point4D.cs
- HtmlListAdapter.cs
- Statements.cs
- TcpClientSocketManager.cs
- ToolStripArrowRenderEventArgs.cs
- DataControlPagerLinkButton.cs
- Point3D.cs
- Utility.cs
- AmbientLight.cs
- EncoderParameters.cs
- AutomationEvent.cs
- WizardPanel.cs
- InternalSafeNativeMethods.cs
- Helpers.cs
- PresentationTraceSources.cs
- ObjectAnimationUsingKeyFrames.cs
- Rect.cs
- XmlStringTable.cs
- VisualBrush.cs
- TdsParameterSetter.cs
- SchemaImporterExtensionElement.cs
- TransformerTypeCollection.cs
- XPathMessageFilterElement.cs
- URIFormatException.cs
- TreeViewImageKeyConverter.cs
- JournalNavigationScope.cs
- HighContrastHelper.cs
- RuleSettingsCollection.cs
- AutoGeneratedField.cs
- RegexCaptureCollection.cs
- MappingModelBuildProvider.cs
- OdbcRowUpdatingEvent.cs
- DragDeltaEventArgs.cs
- PermissionRequestEvidence.cs
- DataPagerField.cs
- Binding.cs
- Debug.cs
- ScriptControl.cs
- PaperSize.cs
- ScaleTransform3D.cs
- AspNetSynchronizationContext.cs
- BuildManager.cs
- storepermission.cs
- DataObject.cs
- BulletedListEventArgs.cs
- SerialPinChanges.cs
- InternalDispatchObject.cs
- MSAAEventDispatcher.cs
- NativeCompoundFileAPIs.cs
- RequestCacheValidator.cs
- XmlSchemaAppInfo.cs
- UTF7Encoding.cs
- XmlQueryStaticData.cs
- ProxyGenerator.cs
- EmptyEnumerator.cs
- Ipv6Element.cs
- OdbcConnectionOpen.cs
- TableDetailsCollection.cs
- EntityConnectionStringBuilder.cs
- CodeLabeledStatement.cs
- CapabilitiesRule.cs
- oledbmetadatacollectionnames.cs
- __Filters.cs
- ToolboxComponentsCreatedEventArgs.cs
- ExpanderAutomationPeer.cs
- PropertySegmentSerializer.cs
- ResourceReferenceExpression.cs
- SystemColorTracker.cs
- CookieProtection.cs
- PerformanceCounterPermissionAttribute.cs
- ReferentialConstraint.cs
- PreservationFileReader.cs
- Binding.cs
- TransformerTypeCollection.cs
- ResourceDescriptionAttribute.cs
- UriExt.cs
- OdbcCommandBuilder.cs
- PanningMessageFilter.cs
- ListBindingConverter.cs