Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / internal / materialization / compensatingcollection.cs / 1305376 / compensatingcollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; namespace System.Data.Common.Internal.Materialization { ////// What we return from our materialization of a collection column must be /// exactly the type that the compilers expected when they generated the /// code that asked for it. This class wraps our enumerators and derives /// from all the possible options, covering all the bases. /// internal class CompensatingCollection: IOrderedQueryable , IOrderedEnumerable { #region private state /// /// The thing we're compensating for /// private readonly IEnumerable_source; /// /// An expression that returns the source as a constant /// private readonly Expression _expression; #endregion #region constructors public CompensatingCollection(IEnumerablesource) { _source = EntityUtil.CheckArgumentNull(source, "source"); _expression = Expression.Constant(source); } #endregion #region IEnumerable Members System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return _source.GetEnumerator(); } #endregion #region IEnumerable Members IEnumerator IEnumerable .GetEnumerator() { return _source.GetEnumerator(); } #endregion #region IOrderedEnumerable Members IOrderedEnumerable IOrderedEnumerable .CreateOrderedEnumerable (Func keySelector, IComparer comparer, bool descending) { throw EntityUtil.NotSupported(System.Data.Entity.Strings.ELinq_CreateOrderedEnumerableNotSupported); } #endregion #region IQueryable Members Type IQueryable.ElementType { get { return typeof(TElement); } } Expression IQueryable.Expression { get { return _expression; } } IQueryProvider IQueryable.Provider { get { throw EntityUtil.NotSupported(System.Data.Entity.Strings.ELinq_UnsupportedQueryableMethod); } } #endregion #region IQueryable Members #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
- ScrollContentPresenter.cs
- RandomNumberGenerator.cs
- DataSourceCacheDurationConverter.cs
- ExtenderProviderService.cs
- CriticalFinalizerObject.cs
- Int32Converter.cs
- ReachPageContentCollectionSerializer.cs
- PathSegment.cs
- ArithmeticException.cs
- XamlStream.cs
- HttpCacheVary.cs
- Trigger.cs
- infer.cs
- GridViewSortEventArgs.cs
- X509Certificate2Collection.cs
- TranslateTransform3D.cs
- TransformerInfo.cs
- NullableBoolConverter.cs
- HandlerMappingMemo.cs
- JsonByteArrayDataContract.cs
- GridEntryCollection.cs
- DetailsViewDeleteEventArgs.cs
- IsolatedStorage.cs
- HostingPreferredMapPath.cs
- Predicate.cs
- ResolveCriteriaApril2005.cs
- sqlmetadatafactory.cs
- DatatypeImplementation.cs
- BuildProvider.cs
- GridLength.cs
- DispatcherSynchronizationContext.cs
- DataGridViewButtonCell.cs
- DbConnectionClosed.cs
- TextContainerChangeEventArgs.cs
- Attribute.cs
- ReaderWriterLock.cs
- TabControlAutomationPeer.cs
- WindowPattern.cs
- PackageRelationshipSelector.cs
- TraceSwitch.cs
- PhonemeEventArgs.cs
- ToolStripLabel.cs
- SpellerHighlightLayer.cs
- SocketElement.cs
- PresentationUIStyleResources.cs
- SplitterPanel.cs
- ParameterBuilder.cs
- UrlParameterReader.cs
- KnownTypeDataContractResolver.cs
- SubclassTypeValidator.cs
- WpfWebRequestHelper.cs
- Style.cs
- GatewayDefinition.cs
- UiaCoreProviderApi.cs
- QueryTreeBuilder.cs
- TreeBuilderBamlTranslator.cs
- CodeMemberEvent.cs
- FormViewDesigner.cs
- XmlSchemaGroupRef.cs
- IndexedGlyphRun.cs
- PageCache.cs
- CaseInsensitiveOrdinalStringComparer.cs
- ZoomPercentageConverter.cs
- ServiceHttpModule.cs
- WinFormsUtils.cs
- SpellerError.cs
- DataGridViewSelectedColumnCollection.cs
- IdentityHolder.cs
- Compilation.cs
- Matrix3DStack.cs
- LinkButton.cs
- SafeEventHandle.cs
- DataViewManagerListItemTypeDescriptor.cs
- BitmapFrame.cs
- EncoderExceptionFallback.cs
- TranslateTransform.cs
- SubstitutionList.cs
- EllipticalNodeOperations.cs
- WebPartEditorApplyVerb.cs
- StyleModeStack.cs
- CatalogPartChrome.cs
- SqlServer2KCompatibilityCheck.cs
- SapiRecoInterop.cs
- SelectionRange.cs
- RegistrySecurity.cs
- DataGridViewBindingCompleteEventArgs.cs
- RestHandler.cs
- PrimitiveCodeDomSerializer.cs
- ProcessInputEventArgs.cs
- ListGeneralPage.cs
- DetailsViewCommandEventArgs.cs
- DocumentSignatureManager.cs
- GPRECT.cs
- HuffModule.cs
- WebDescriptionAttribute.cs
- SafeFileMappingHandle.cs
- MissingFieldException.cs
- RoutedEventArgs.cs
- GACIdentityPermission.cs
- BasicHttpSecurity.cs