Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / ALinq / NavigationPropertySingletonExpression.cs / 1305376 / NavigationPropertySingletonExpression.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Respresents a navigation to a singleton property. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Client { #region Private fields. using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Linq.Expressions; #endregion Private fields. ///Expression for a navigation property into a single entity (eg: Customer.BestFriend). internal class NavigationPropertySingletonExpression : ResourceExpression { #region Private fields. ///property member name private readonly Expression memberExpression; ///resource type private readonly Type resourceType; #endregion Private fields. ////// Creates a NavigationPropertySingletonExpression expression /// /// the return type of the expression /// the source expression /// property member name /// resource type for expression /// expand paths for resource set /// count option for the resource set /// custom query options for resourcse set /// projection expression internal NavigationPropertySingletonExpression(Type type, Expression source, Expression memberExpression, Type resourceType, ListexpandPaths, CountOption countOption, Dictionary customQueryOptions, ProjectionQueryOptionExpression projection) : base(source, (ExpressionType)ResourceExpressionType.ResourceNavigationPropertySingleton, type, expandPaths, countOption, customQueryOptions, projection) { Debug.Assert(memberExpression != null, "memberExpression != null"); Debug.Assert(resourceType != null, "resourceType != null"); this.memberExpression = memberExpression; this.resourceType = resourceType; } /// /// Gets the member expression. /// internal MemberExpression MemberExpression { get { return (MemberExpression)this.memberExpression; } } ////// The resource type of the singe instance produced by this singleton navigation. /// internal override Type ResourceType { get { return this.resourceType; } } ////// Singleton navigation properties always produce at most 1 result /// internal override bool IsSingleton { get { return true; } } ////// Does Singleton navigation have query options. /// internal override bool HasQueryOptions { get { return this.ExpandPaths.Count > 0 || this.CountOption == CountOption.InlineAll || this.CustomQueryOptions.Count > 0 || this.Projection != null; } } ////// Cast changes the type of the ResourceExpression /// /// new type ///new NavigationPropertySingletonExpression internal override ResourceExpression CreateCloneWithNewType(Type type) { return new NavigationPropertySingletonExpression( type, this.source, this.MemberExpression, TypeSystem.GetElementType(type), this.ExpandPaths.ToList(), this.CountOption, this.CustomQueryOptions.ToDictionary(kvp => kvp.Key, kvp => kvp.Value), this.Projection); } } } // 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
- EvidenceTypeDescriptor.cs
- ObjectConverter.cs
- ThemeInfoAttribute.cs
- ConfigXmlDocument.cs
- SettingsPropertyCollection.cs
- SettingsPropertyValue.cs
- EntityDataSourceContainerNameItem.cs
- PageTrueTypeFont.cs
- XmlSchemaNotation.cs
- EventLogStatus.cs
- DocumentApplicationDocumentViewer.cs
- ResponseBodyWriter.cs
- ServiceContractGenerationContext.cs
- GeneratedContractType.cs
- TypeElement.cs
- ListBoxItemWrapperAutomationPeer.cs
- GenericUriParser.cs
- TransformerConfigurationWizardBase.cs
- keycontainerpermission.cs
- AssertFilter.cs
- HttpProfileGroupBase.cs
- TreeViewImageIndexConverter.cs
- EngineSite.cs
- Pkcs7Signer.cs
- GenericAuthenticationEventArgs.cs
- PerformanceCounterCategory.cs
- SqlDataSourceQuery.cs
- Component.cs
- InputProviderSite.cs
- System.Data_BID.cs
- Compensate.cs
- DEREncoding.cs
- TempFiles.cs
- IRCollection.cs
- MediaSystem.cs
- PartialTrustVisibleAssemblyCollection.cs
- SpeechSynthesizer.cs
- DeferredReference.cs
- PathGeometry.cs
- SystemIPInterfaceProperties.cs
- FontNamesConverter.cs
- ExpressionBindingCollection.cs
- Context.cs
- ObjectDataProvider.cs
- ConfigXmlReader.cs
- BamlTreeMap.cs
- UpdateCompiler.cs
- DataGridItem.cs
- BufferedStream.cs
- CatalogZoneBase.cs
- ObjectDataSourceSelectingEventArgs.cs
- Variant.cs
- XmlSchemaAny.cs
- WhitespaceRuleLookup.cs
- GeneralTransform2DTo3D.cs
- DelegateSerializationHolder.cs
- SpellerInterop.cs
- HttpCapabilitiesEvaluator.cs
- URLString.cs
- VisualTreeUtils.cs
- XmlAnyAttributeAttribute.cs
- StringCollection.cs
- Char.cs
- ColumnResult.cs
- TrackingLocation.cs
- CurrentChangingEventArgs.cs
- EtwTrace.cs
- SqlGenericUtil.cs
- OperandQuery.cs
- PermissionRequestEvidence.cs
- BindUriHelper.cs
- SafeLibraryHandle.cs
- DataGridViewTextBoxCell.cs
- EncoderNLS.cs
- Overlapped.cs
- WebPartConnectionCollection.cs
- SignatureToken.cs
- ServiceAppDomainAssociationProvider.cs
- Function.cs
- AccessorTable.cs
- Stopwatch.cs
- NotifyParentPropertyAttribute.cs
- ImageFormat.cs
- XmlSchemaExporter.cs
- UniqueSet.cs
- SortExpressionBuilder.cs
- TreeNode.cs
- Int32Rect.cs
- ClientConvert.cs
- Base64Decoder.cs
- FormViewUpdatedEventArgs.cs
- ImageAnimator.cs
- DataSysAttribute.cs
- ListBoxAutomationPeer.cs
- GlyphsSerializer.cs
- Bidi.cs
- HttpDictionary.cs
- QueryRelOp.cs
- XPathDocumentIterator.cs
- X509Extension.cs