Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- followingsibling.cs
- ProcessHostMapPath.cs
- WebConfigurationManager.cs
- SoapObjectReader.cs
- VectorCollectionValueSerializer.cs
- AnimationClockResource.cs
- BuildProvider.cs
- HttpRequestWrapper.cs
- XPathAxisIterator.cs
- BamlLocalizer.cs
- TextBlockAutomationPeer.cs
- InertiaTranslationBehavior.cs
- ReadOnlyDictionary.cs
- HtmlFormParameterWriter.cs
- PointConverter.cs
- TraceInternal.cs
- MultipleViewPattern.cs
- QilInvokeEarlyBound.cs
- DataProtection.cs
- LinearKeyFrames.cs
- XNodeValidator.cs
- PropertyItem.cs
- LineProperties.cs
- XmlReader.cs
- AppSettingsExpressionBuilder.cs
- ChannelCacheSettings.cs
- GacUtil.cs
- Code.cs
- TextEditorMouse.cs
- Vector3DCollectionValueSerializer.cs
- MaskedTextBox.cs
- SecurityBindingElement.cs
- ListViewGroupConverter.cs
- SettingsPropertyValue.cs
- CheckoutException.cs
- ResourceReferenceExpression.cs
- SqlDataSourceCommandParser.cs
- Knowncolors.cs
- HScrollBar.cs
- DesigntimeLicenseContext.cs
- UserNameSecurityTokenProvider.cs
- SqlException.cs
- SerializerProvider.cs
- Clause.cs
- Stroke.cs
- RegexWriter.cs
- XmlDataProvider.cs
- XmlDesigner.cs
- RawMouseInputReport.cs
- MenuItemAutomationPeer.cs
- WorkflowItemsPresenter.cs
- StickyNoteHelper.cs
- QfeChecker.cs
- InfiniteTimeSpanConverter.cs
- SystemIcmpV4Statistics.cs
- ValueConversionAttribute.cs
- DesignerActionUIStateChangeEventArgs.cs
- Mappings.cs
- CrossAppDomainChannel.cs
- ADMembershipUser.cs
- BitmapMetadata.cs
- IdentityHolder.cs
- CodeDomConfigurationHandler.cs
- ToolBarButton.cs
- SQLDouble.cs
- RectAnimation.cs
- TypedReference.cs
- FamilyTypefaceCollection.cs
- InputEventArgs.cs
- DynamicDataManager.cs
- CookieParameter.cs
- filewebresponse.cs
- SecurityIdentifierConverter.cs
- FontUnit.cs
- InertiaRotationBehavior.cs
- ScrollItemPatternIdentifiers.cs
- SessionEndedEventArgs.cs
- BuildDependencySet.cs
- Set.cs
- UpdateCommand.cs
- MediaPlayer.cs
- DrawingGroup.cs
- SecurityContext.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ParentQuery.cs
- CannotUnloadAppDomainException.cs
- Stylesheet.cs
- ArglessEventHandlerProxy.cs
- HWStack.cs
- ExeConfigurationFileMap.cs
- SerialPort.cs
- ResourceManagerWrapper.cs
- EtwTrace.cs
- GenerateTemporaryTargetAssembly.cs
- UriParserTemplates.cs
- XmlTextWriter.cs
- ToolStripSettings.cs
- ConnectionManagementElement.cs
- HtmlEncodedRawTextWriter.cs
- FileSystemWatcher.cs