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
- DataGridViewCellStyleContentChangedEventArgs.cs
- SqlInternalConnectionTds.cs
- altserialization.cs
- MSAAEventDispatcher.cs
- HTTPNotFoundHandler.cs
- InternalCache.cs
- ConfigXmlSignificantWhitespace.cs
- ClientUIRequest.cs
- DiscoveryClientProtocol.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- TextRenderer.cs
- TraceRecord.cs
- PhysicalOps.cs
- StringAnimationUsingKeyFrames.cs
- EntityContainerEntitySetDefiningQuery.cs
- StringFreezingAttribute.cs
- TextReader.cs
- DesignerSerializerAttribute.cs
- ConsumerConnectionPointCollection.cs
- TraceUtils.cs
- LogExtentCollection.cs
- HostedHttpTransportManager.cs
- TimelineCollection.cs
- ObjectListDataBindEventArgs.cs
- CheckBoxStandardAdapter.cs
- Form.cs
- PrintDocument.cs
- GridItemCollection.cs
- Timeline.cs
- PageStatePersister.cs
- Stroke2.cs
- DBDataPermissionAttribute.cs
- ToolStripPanel.cs
- Image.cs
- WCFBuildProvider.cs
- PeerNameRecord.cs
- DbLambda.cs
- TextBox.cs
- SingleResultAttribute.cs
- BaseCodePageEncoding.cs
- Avt.cs
- RelationshipType.cs
- AliasGenerator.cs
- WindowsListViewSubItem.cs
- ZoneButton.cs
- TreeViewImageIndexConverter.cs
- CalendarDay.cs
- NamespaceEmitter.cs
- ServiceEndpointCollection.cs
- XmlSchemaComplexContentRestriction.cs
- IImplicitResourceProvider.cs
- TransactedBatchingElement.cs
- BaseValidator.cs
- CommonRemoteMemoryBlock.cs
- FileBasedResourceGroveler.cs
- ErasingStroke.cs
- IteratorDescriptor.cs
- TransformConverter.cs
- DropDownHolder.cs
- ParserStreamGeometryContext.cs
- WebConfigurationHost.cs
- HyperlinkAutomationPeer.cs
- InkSerializer.cs
- DataBoundControlDesigner.cs
- Lasso.cs
- CaretElement.cs
- CheckBoxDesigner.cs
- BufferModesCollection.cs
- StreamWithDictionary.cs
- WebConfigurationHost.cs
- Grid.cs
- TypeLoadException.cs
- SplitterDesigner.cs
- ViewgenGatekeeper.cs
- OdbcErrorCollection.cs
- TabRenderer.cs
- DataGridViewImageCell.cs
- EntryWrittenEventArgs.cs
- XmlWrappingWriter.cs
- BoundColumn.cs
- ObjectSet.cs
- ErrorRuntimeConfig.cs
- EntityDataSourceDataSelection.cs
- ExtendedProperty.cs
- ListView.cs
- PreloadHost.cs
- ContainerSelectorGlyph.cs
- StringUtil.cs
- AutomationElementIdentifiers.cs
- RichTextBoxAutomationPeer.cs
- FormViewInsertedEventArgs.cs
- XPathPatternParser.cs
- ExpressionBindings.cs
- ListViewItem.cs
- InfiniteTimeSpanConverter.cs
- Itemizer.cs
- MenuItem.cs
- FieldToken.cs
- GlyphRun.cs
- BindingsCollection.cs