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
- XpsS0ValidatingLoader.cs
- AssemblyName.cs
- DllNotFoundException.cs
- ConstructorNeedsTagAttribute.cs
- InternalRelationshipCollection.cs
- Permission.cs
- CursorInteropHelper.cs
- Paragraph.cs
- BindingContext.cs
- Util.cs
- ColorConvertedBitmap.cs
- DbSetClause.cs
- WebPartConnectionsCancelVerb.cs
- returneventsaver.cs
- DataColumnMapping.cs
- BuildProvider.cs
- DataListItemCollection.cs
- RelatedPropertyManager.cs
- AutomationPattern.cs
- XmlDocumentSerializer.cs
- DataGridViewColumnTypePicker.cs
- TemplatePagerField.cs
- ObjectDataSourceFilteringEventArgs.cs
- LazyTextWriterCreator.cs
- NumberSubstitution.cs
- Int16Converter.cs
- TextLine.cs
- HashHelper.cs
- EnumMember.cs
- MembershipSection.cs
- XmlQueryRuntime.cs
- XmlLinkedNode.cs
- HttpApplicationFactory.cs
- DataTableCollection.cs
- Style.cs
- ControlTemplate.cs
- DecoderFallbackWithFailureFlag.cs
- X509CertificateEndpointIdentity.cs
- RowSpanVector.cs
- StringValidatorAttribute.cs
- FormViewDeletedEventArgs.cs
- AsyncResult.cs
- KeyedCollection.cs
- DataControlFieldCollection.cs
- ProfilePropertySettings.cs
- WCFModelStrings.Designer.cs
- Polygon.cs
- COM2TypeInfoProcessor.cs
- DocumentGridPage.cs
- DataGridHeaderBorder.cs
- SqlRecordBuffer.cs
- Triangle.cs
- MdImport.cs
- CatalogZoneBase.cs
- WebPartUtil.cs
- OLEDB_Util.cs
- SecurityException.cs
- TemplatedWizardStep.cs
- ObjectDataSource.cs
- MultiBindingExpression.cs
- ClosableStream.cs
- SingleConverter.cs
- CodeAttributeArgument.cs
- XPathSelectionIterator.cs
- ConvertBinder.cs
- WindowsSysHeader.cs
- TagMapCollection.cs
- FileSystemEventArgs.cs
- RectangleGeometry.cs
- LicenseException.cs
- InsufficientMemoryException.cs
- SystemIPGlobalStatistics.cs
- COM2Properties.cs
- InputLanguageManager.cs
- RowSpanVector.cs
- DBPropSet.cs
- Queue.cs
- ComContractElement.cs
- DbParameterCollectionHelper.cs
- Config.cs
- DateTimePicker.cs
- PublisherMembershipCondition.cs
- ExpressionBuilder.cs
- ExceptionUtil.cs
- EntityModelBuildProvider.cs
- QuaternionIndependentAnimationStorage.cs
- DPTypeDescriptorContext.cs
- GeometryHitTestParameters.cs
- ValidatingReaderNodeData.cs
- DataGridViewTextBoxEditingControl.cs
- PersonalizationDictionary.cs
- Operand.cs
- InstanceCreationEditor.cs
- QuaternionRotation3D.cs
- PageAdapter.cs
- QueueNameHelper.cs
- ResXBuildProvider.cs
- MergablePropertyAttribute.cs
- EntryPointNotFoundException.cs
- FreezableOperations.cs