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
- DbQueryCommandTree.cs
- BuildManagerHost.cs
- QilLoop.cs
- RequestBringIntoViewEventArgs.cs
- RequestQueue.cs
- CompilerWrapper.cs
- TreeNodeBindingCollection.cs
- UIHelper.cs
- ClientApiGenerator.cs
- InvalidPrinterException.cs
- DataSvcMapFile.cs
- MsmqAppDomainProtocolHandler.cs
- NativeMethods.cs
- WaitHandle.cs
- DesignerTextWriter.cs
- DesignTimeType.cs
- TypeBuilderInstantiation.cs
- ExitEventArgs.cs
- ReservationCollection.cs
- DesignerAdapterUtil.cs
- ConnectionsZone.cs
- ConnectionStringsExpressionBuilder.cs
- BrowserInteropHelper.cs
- RegularExpressionValidator.cs
- PersonalizationAdministration.cs
- EnumDataContract.cs
- SafeJobHandle.cs
- EncodingTable.cs
- FontStretch.cs
- TemplateControlCodeDomTreeGenerator.cs
- SchemaImporterExtensionsSection.cs
- EntitySqlException.cs
- ClipboardData.cs
- ScriptResourceAttribute.cs
- XmlSchemaImport.cs
- WizardPanel.cs
- TransformPattern.cs
- DataGridViewCellValueEventArgs.cs
- RegisteredExpandoAttribute.cs
- BodyGlyph.cs
- BaseTemplateBuildProvider.cs
- NativeObjectSecurity.cs
- TrackBar.cs
- _FtpDataStream.cs
- NameValueCollection.cs
- wmiprovider.cs
- DataGridViewHitTestInfo.cs
- XPathArrayIterator.cs
- dbdatarecord.cs
- RenderDataDrawingContext.cs
- GridViewColumn.cs
- SafeArrayTypeMismatchException.cs
- CalendarButton.cs
- DBSqlParserColumnCollection.cs
- MouseGestureConverter.cs
- CodeStatementCollection.cs
- Quad.cs
- DelegatedStream.cs
- XamlHostingSection.cs
- RepeatInfo.cs
- ClientRoleProvider.cs
- PermissionToken.cs
- BindingNavigatorDesigner.cs
- SwitchElementsCollection.cs
- Decoder.cs
- SyndicationDeserializer.cs
- TextElementCollectionHelper.cs
- XmlDataSourceView.cs
- SAPICategories.cs
- altserialization.cs
- DispatchChannelSink.cs
- EncoderReplacementFallback.cs
- TransactionContextManager.cs
- RowToParametersTransformer.cs
- TextTreeTextElementNode.cs
- coordinator.cs
- SchemaNames.cs
- InputManager.cs
- MediaEntryAttribute.cs
- ImageKeyConverter.cs
- PerfCounterSection.cs
- DecimalConstantAttribute.cs
- SiteOfOriginContainer.cs
- ControlBuilderAttribute.cs
- TreeView.cs
- RepeaterItemEventArgs.cs
- ThaiBuddhistCalendar.cs
- PropertyMetadata.cs
- UriSection.cs
- Line.cs
- PermissionRequestEvidence.cs
- ParenExpr.cs
- OleDbPermission.cs
- HatchBrush.cs
- KeyEventArgs.cs
- PerformanceCounterPermissionEntry.cs
- NonParentingControl.cs
- DrawingCollection.cs
- ManagedWndProcTracker.cs
- ManagementOperationWatcher.cs