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
- EmbeddedMailObject.cs
- FontWeight.cs
- InternalPolicyElement.cs
- BamlTreeNode.cs
- CodeCommentStatementCollection.cs
- DefaultParameterValueAttribute.cs
- Model3D.cs
- InitializationEventAttribute.cs
- HttpsChannelListener.cs
- AssemblyAttributesGoHere.cs
- DeobfuscatingStream.cs
- WinEventQueueItem.cs
- XmlHierarchicalDataSourceView.cs
- SystemIPAddressInformation.cs
- ExpressionCopier.cs
- CodeNamespaceCollection.cs
- StandardMenuStripVerb.cs
- Preprocessor.cs
- followingsibling.cs
- SQLInt16.cs
- ZipIOLocalFileDataDescriptor.cs
- ApplicationInfo.cs
- XPathScanner.cs
- HMACSHA384.cs
- PersonalizationStateQuery.cs
- CollectionDataContractAttribute.cs
- PlaceHolder.cs
- ISFClipboardData.cs
- WorkflowWebService.cs
- MetadataPropertyAttribute.cs
- ViewStateModeByIdAttribute.cs
- FileIOPermission.cs
- Drawing.cs
- TrustVersion.cs
- CalculatedColumn.cs
- BaseParagraph.cs
- SecurityTokenException.cs
- TTSEngineTypes.cs
- VolatileResourceManager.cs
- PageBuildProvider.cs
- EnumType.cs
- MD5Cng.cs
- TextFormatterContext.cs
- TargetPerspective.cs
- ScriptReferenceBase.cs
- CodeMemberMethod.cs
- ParseElementCollection.cs
- CharacterMetrics.cs
- BaseAutoFormat.cs
- MSG.cs
- ToolStripRenderer.cs
- CultureTableRecord.cs
- QilCloneVisitor.cs
- DocumentOrderComparer.cs
- BevelBitmapEffect.cs
- WsdlExporter.cs
- IODescriptionAttribute.cs
- BinaryConverter.cs
- ServiceNameElement.cs
- BitmapPalettes.cs
- DataServiceBuildProvider.cs
- AssemblySettingAttributes.cs
- GeometryDrawing.cs
- XmlSchemaAppInfo.cs
- RSAPKCS1KeyExchangeFormatter.cs
- UInt32Converter.cs
- ToolStripContainer.cs
- ToolStripItemEventArgs.cs
- SrgsRulesCollection.cs
- MaskedTextBoxTextEditor.cs
- BulletDecorator.cs
- SystemIPv4InterfaceProperties.cs
- FilteredAttributeCollection.cs
- BinaryFormatterWriter.cs
- ToolStripRenderer.cs
- coordinatorfactory.cs
- DesignTimeParseData.cs
- DBConnectionString.cs
- ArrangedElementCollection.cs
- FilteredSchemaElementLookUpTable.cs
- TextBoxView.cs
- QuaternionRotation3D.cs
- TypeBuilder.cs
- LocalizationParserHooks.cs
- ExceptionUtil.cs
- ErasingStroke.cs
- SharedStream.cs
- IdentitySection.cs
- dtdvalidator.cs
- SizeValueSerializer.cs
- SimpleBitVector32.cs
- AvTraceFormat.cs
- TextEndOfSegment.cs
- Pair.cs
- PropertyDescriptorComparer.cs
- unitconverter.cs
- TransformConverter.cs
- ByteKeyFrameCollection.cs
- OdbcRowUpdatingEvent.cs
- DataGrid.cs