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
- FormViewInsertEventArgs.cs
- AutomationFocusChangedEventArgs.cs
- CodeRemoveEventStatement.cs
- ReachPageContentCollectionSerializer.cs
- Exceptions.cs
- RepeatBehaviorConverter.cs
- DesignerGenericWebPart.cs
- SHA1CryptoServiceProvider.cs
- ToolBarTray.cs
- TableCell.cs
- TransmissionStrategy.cs
- TargetParameterCountException.cs
- FileDialog.cs
- ShellProvider.cs
- DiscoveryClientOutputChannel.cs
- DesignerTransaction.cs
- CodeTypeConstructor.cs
- ArgumentOutOfRangeException.cs
- Completion.cs
- GridViewCancelEditEventArgs.cs
- GenericTypeParameterConverter.cs
- UseLicense.cs
- DocumentPaginator.cs
- DataGridViewToolTip.cs
- CqlWriter.cs
- OneOf.cs
- SmtpReplyReader.cs
- SQLMoneyStorage.cs
- PropertyValue.cs
- RowCache.cs
- TableCellAutomationPeer.cs
- VersionedStream.cs
- CompositeControl.cs
- OleDbCommand.cs
- Int32EqualityComparer.cs
- TextComposition.cs
- BinaryReader.cs
- TextFormattingConverter.cs
- SnapLine.cs
- DebugHandleTracker.cs
- CounterCreationDataCollection.cs
- VerticalAlignConverter.cs
- DocumentPageViewAutomationPeer.cs
- ScriptingWebServicesSectionGroup.cs
- TemplateBindingExtension.cs
- GridViewCancelEditEventArgs.cs
- ProcessInfo.cs
- LambdaExpression.cs
- MenuItemCollection.cs
- SystemThemeKey.cs
- MultiView.cs
- precedingsibling.cs
- DocumentPageHost.cs
- ImmutableObjectAttribute.cs
- CodeAttributeDeclaration.cs
- Vector3DKeyFrameCollection.cs
- XmlReaderSettings.cs
- FontEmbeddingManager.cs
- ConfigurationStrings.cs
- HMACSHA256.cs
- TextDecorationCollectionConverter.cs
- UnknownExceptionActionHelper.cs
- SecurityHelper.cs
- InfoCard.cs
- EmptyControlCollection.cs
- DataGridViewCellCancelEventArgs.cs
- UIServiceHelper.cs
- SQLUtility.cs
- SelectionEditor.cs
- WebBrowserNavigatingEventHandler.cs
- WizardSideBarListControlItemEventArgs.cs
- XmlParserContext.cs
- SmtpFailedRecipientsException.cs
- VirtualDirectoryMapping.cs
- AVElementHelper.cs
- XmlnsCache.cs
- MetadataArtifactLoaderCompositeResource.cs
- SqlConnectionFactory.cs
- ToolCreatedEventArgs.cs
- XmlReturnWriter.cs
- UniqueIdentifierService.cs
- FileClassifier.cs
- ToolStripManager.cs
- TypefaceMap.cs
- SmtpTransport.cs
- ProfileSettings.cs
- XmlSchemaCollection.cs
- WebPartAuthorizationEventArgs.cs
- KeyValueConfigurationCollection.cs
- QilPatternFactory.cs
- WeakRefEnumerator.cs
- TripleDESCryptoServiceProvider.cs
- CreateUserWizardStep.cs
- XPathMessageFilterTable.cs
- XhtmlBasicCommandAdapter.cs
- Attributes.cs
- EpmCustomContentSerializer.cs
- PerspectiveCamera.cs
- userdatakeys.cs
- assertwrapper.cs