Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Objects / objectquery_tresulttype.cs / 1 / objectquery_tresulttype.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupowner [....] //--------------------------------------------------------------------- using System; using System.Text.RegularExpressions; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Diagnostics; using System.Data; using System.Data.Common; using System.Data.Common.EntitySql; using System.Data.Common.Utils; using System.Data.Mapping; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees; using System.Data.Common.CommandTrees.Internal; using System.Data.Objects.DataClasses; using System.Data.Objects.ELinq; using System.Data.Objects.Internal; using System.Data.Common.QueryCache; using System.Data.EntityClient; using System.Linq; using System.Linq.Expressions; namespace System.Data.Objects { ////// This class implements strongly-typed queries at the object-layer through /// Entity SQL text and query-building helper methods. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")] public partial class ObjectQuery: ObjectQuery, IEnumerable , IQueryable , IOrderedQueryable , IListSource { internal ObjectQuery(ObjectQueryState queryState) : base(queryState) { } #region Public Methods /// /// This method allows explicit query evaluation with a specified merge /// option which will override the merge option property. /// /// /// The MergeOption to use when executing the query. /// ////// An enumerable for the ObjectQuery results. /// public new ObjectResultExecute(MergeOption mergeOption) { EntityUtil.CheckArgumentMergeOption(mergeOption); return this.GetResults(mergeOption); } /// /// Adds a path to the set of navigation property span paths included in the results of this query /// /// The new span path ///A new ObjectQuery that includes the specified span path public ObjectQueryInclude(string path) { EntityUtil.CheckStringArgument(path, "path"); return new ObjectQuery (this.QueryState.Include(this, path)); } #endregion #region IEnumerable implementation /// /// These methods are the "executors" for the query. They can be called /// directly, or indirectly (by foreach'ing through the query, for example). /// IEnumeratorIEnumerable .GetEnumerator() { ObjectResult disposableEnumerable = this.GetResults(null); try { IEnumerator result = disposableEnumerable.GetEnumerator(); return result; } catch { // if there is a problem creating the enumerator, we should dispose // the enumerable (if there is no problem, the enumerator will take // care of the dispose) disposableEnumerable.Dispose(); throw; } } #endregion #region ObjectQuery Overrides internal override IEnumerator GetEnumeratorInternal() { return ((IEnumerable )this).GetEnumerator(); } internal override IList GetIListSourceListInternal() { return ((IListSource)this.GetResults(null)).GetList(); } internal override ObjectResult ExecuteInternal(MergeOption mergeOption) { return this.GetResults(mergeOption); } #endregion #region Private Methods private ObjectResult GetResults(MergeOption? forMergeOption) { this.QueryState.ObjectContext.EnsureConnection(); try { ObjectQueryExecutionPlan execPlan = this.QueryState.GetExecutionPlan(forMergeOption); return execPlan.Execute (this.QueryState.ObjectContext, this.QueryState.Parameters); } catch { this.QueryState.ObjectContext.ReleaseConnection(); throw; } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupowner [....] //--------------------------------------------------------------------- using System; using System.Text.RegularExpressions; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Diagnostics; using System.Data; using System.Data.Common; using System.Data.Common.EntitySql; using System.Data.Common.Utils; using System.Data.Mapping; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees; using System.Data.Common.CommandTrees.Internal; using System.Data.Objects.DataClasses; using System.Data.Objects.ELinq; using System.Data.Objects.Internal; using System.Data.Common.QueryCache; using System.Data.EntityClient; using System.Linq; using System.Linq.Expressions; namespace System.Data.Objects { ////// This class implements strongly-typed queries at the object-layer through /// Entity SQL text and query-building helper methods. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1710:IdentifiersShouldHaveCorrectSuffix")] public partial class ObjectQuery: ObjectQuery, IEnumerable , IQueryable , IOrderedQueryable , IListSource { internal ObjectQuery(ObjectQueryState queryState) : base(queryState) { } #region Public Methods /// /// This method allows explicit query evaluation with a specified merge /// option which will override the merge option property. /// /// /// The MergeOption to use when executing the query. /// ////// An enumerable for the ObjectQuery results. /// public new ObjectResultExecute(MergeOption mergeOption) { EntityUtil.CheckArgumentMergeOption(mergeOption); return this.GetResults(mergeOption); } /// /// Adds a path to the set of navigation property span paths included in the results of this query /// /// The new span path ///A new ObjectQuery that includes the specified span path public ObjectQueryInclude(string path) { EntityUtil.CheckStringArgument(path, "path"); return new ObjectQuery (this.QueryState.Include(this, path)); } #endregion #region IEnumerable implementation /// /// These methods are the "executors" for the query. They can be called /// directly, or indirectly (by foreach'ing through the query, for example). /// IEnumeratorIEnumerable .GetEnumerator() { ObjectResult disposableEnumerable = this.GetResults(null); try { IEnumerator result = disposableEnumerable.GetEnumerator(); return result; } catch { // if there is a problem creating the enumerator, we should dispose // the enumerable (if there is no problem, the enumerator will take // care of the dispose) disposableEnumerable.Dispose(); throw; } } #endregion #region ObjectQuery Overrides internal override IEnumerator GetEnumeratorInternal() { return ((IEnumerable )this).GetEnumerator(); } internal override IList GetIListSourceListInternal() { return ((IListSource)this.GetResults(null)).GetList(); } internal override ObjectResult ExecuteInternal(MergeOption mergeOption) { return this.GetResults(mergeOption); } #endregion #region Private Methods private ObjectResult GetResults(MergeOption? forMergeOption) { this.QueryState.ObjectContext.EnsureConnection(); try { ObjectQueryExecutionPlan execPlan = this.QueryState.GetExecutionPlan(forMergeOption); return execPlan.Execute (this.QueryState.ObjectContext, this.QueryState.Parameters); } catch { this.QueryState.ObjectContext.ReleaseConnection(); throw; } } #endregion } } // 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
- AssociationSetEnd.cs
- UIntPtr.cs
- BinaryCommonClasses.cs
- ScaleTransform.cs
- DATA_BLOB.cs
- ContextStack.cs
- IIS7WorkerRequest.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- WebPartExportVerb.cs
- CacheRequest.cs
- ConnectionManagementSection.cs
- ListBoxAutomationPeer.cs
- ToolTipAutomationPeer.cs
- EasingKeyFrames.cs
- ObjectContextServiceProvider.cs
- InstalledFontCollection.cs
- BaseCodeDomTreeGenerator.cs
- StructureChangedEventArgs.cs
- InputBinding.cs
- SurrogateEncoder.cs
- DesignerUtility.cs
- Propagator.cs
- GroupJoinQueryOperator.cs
- KeysConverter.cs
- InvalidDocumentContentsException.cs
- AccessDataSourceWizardForm.cs
- SrgsItemList.cs
- BindingCollection.cs
- DictionaryKeyPropertyAttribute.cs
- DictionaryMarkupSerializer.cs
- ProjectionCamera.cs
- TextRenderingModeValidation.cs
- ReliabilityContractAttribute.cs
- TimeZone.cs
- XsltArgumentList.cs
- PreDigestedSignedInfo.cs
- CachedPathData.cs
- NamedPipeHostedTransportConfiguration.cs
- SqlMethodAttribute.cs
- HttpClientCertificate.cs
- UseManagedPresentationBindingElement.cs
- MergePropertyDescriptor.cs
- UnauthorizedAccessException.cs
- DrawToolTipEventArgs.cs
- ConstructorArgumentAttribute.cs
- ImageButton.cs
- KeyValuePair.cs
- InvalidProgramException.cs
- ManagementQuery.cs
- BoundingRectTracker.cs
- UnknownBitmapEncoder.cs
- XmlElementList.cs
- SqlDataSourceTableQuery.cs
- CacheSection.cs
- PatternMatcher.cs
- CanonicalizationDriver.cs
- Registry.cs
- ForEachAction.cs
- StringToken.cs
- BitmapEffectDrawingContent.cs
- graph.cs
- FragmentQueryKB.cs
- TextDataBindingHandler.cs
- TrackBarDesigner.cs
- DynamicRenderer.cs
- QuaternionRotation3D.cs
- ContainerControl.cs
- CheckBoxStandardAdapter.cs
- ServerValidateEventArgs.cs
- ObjectQueryProvider.cs
- XmlHierarchicalEnumerable.cs
- Type.cs
- DockProviderWrapper.cs
- XPathParser.cs
- NavigationEventArgs.cs
- XsltArgumentList.cs
- EntityContainer.cs
- StrokeCollectionDefaultValueFactory.cs
- OrderedDictionaryStateHelper.cs
- AccessControlEntry.cs
- ToolTipService.cs
- Random.cs
- HwndPanningFeedback.cs
- XMLSyntaxException.cs
- ContextDataSourceView.cs
- SplitContainer.cs
- NetworkInformationException.cs
- MouseEvent.cs
- Timeline.cs
- SoapAttributeOverrides.cs
- BitmapPalette.cs
- ButtonBase.cs
- XmlWriter.cs
- IPAddress.cs
- WebConfigurationHostFileChange.cs
- ObjectStateEntryDbDataRecord.cs
- DataDocumentXPathNavigator.cs
- SafeBitVector32.cs
- GridErrorDlg.cs
- IgnoreFileBuildProvider.cs