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
- LocalValueEnumerator.cs
- FormatControl.cs
- ManifestResourceInfo.cs
- BrushMappingModeValidation.cs
- WebPartDisplayMode.cs
- MatrixTransform.cs
- OledbConnectionStringbuilder.cs
- WindowsNonControl.cs
- RoleManagerSection.cs
- XmlDomTextWriter.cs
- EntitySetBaseCollection.cs
- RSAPKCS1SignatureFormatter.cs
- SizeChangedInfo.cs
- FormViewPagerRow.cs
- HttpServerUtilityWrapper.cs
- ColumnResizeUndoUnit.cs
- VirtualizedCellInfoCollection.cs
- XmlSerializerVersionAttribute.cs
- XamlFilter.cs
- WinFormsUtils.cs
- MouseEventArgs.cs
- OracleConnectionStringBuilder.cs
- SafeFileHandle.cs
- WindowsFormsHostAutomationPeer.cs
- ProfilePropertySettingsCollection.cs
- CompressionTransform.cs
- SetIndexBinder.cs
- _NetworkingPerfCounters.cs
- SystemKeyConverter.cs
- ControlAdapter.cs
- PostBackTrigger.cs
- GenericTextProperties.cs
- ProfileGroupSettings.cs
- XmlAnyElementAttribute.cs
- WpfGeneratedKnownTypes.cs
- UniqueIdentifierService.cs
- NegotiationTokenAuthenticatorState.cs
- FileUtil.cs
- SerializationBinder.cs
- WebPartAddingEventArgs.cs
- TreeSet.cs
- HyperLink.cs
- DataSourceControl.cs
- GeometryDrawing.cs
- DateTimeOffsetAdapter.cs
- DocumentSchemaValidator.cs
- RuntimeConfigLKG.cs
- ContainsRowNumberChecker.cs
- SpecularMaterial.cs
- SessionParameter.cs
- Point3D.cs
- BaseCAMarshaler.cs
- PolicyStatement.cs
- SafeSecurityHelper.cs
- PropertyEntry.cs
- AccessDataSource.cs
- ClientRuntimeConfig.cs
- HGlobalSafeHandle.cs
- EncodingNLS.cs
- GeneralTransform3DTo2D.cs
- SafeHandles.cs
- InvariantComparer.cs
- QuaternionRotation3D.cs
- HttpValueCollection.cs
- FormsAuthentication.cs
- Calendar.cs
- Package.cs
- NameTable.cs
- SymbolEqualComparer.cs
- DictionaryGlobals.cs
- CustomCredentialPolicy.cs
- XmlSchemaException.cs
- HandledEventArgs.cs
- ButtonAutomationPeer.cs
- AmbientProperties.cs
- TextAnchor.cs
- SafeSecurityHelper.cs
- clipboard.cs
- PageContentCollection.cs
- MetabaseSettings.cs
- CollectionBuilder.cs
- PropertyGridCommands.cs
- IntSecurity.cs
- SafeProcessHandle.cs
- Effect.cs
- SiteMapNodeItemEventArgs.cs
- WindowsTokenRoleProvider.cs
- TimeSpanConverter.cs
- _BufferOffsetSize.cs
- PageAsyncTaskManager.cs
- Marshal.cs
- ServiceConfigurationTraceRecord.cs
- DataFormats.cs
- AppDomainEvidenceFactory.cs
- DataFieldConverter.cs
- Model3DGroup.cs
- TypeToken.cs
- Rights.cs
- LineProperties.cs
- StylusPointPropertyUnit.cs