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
- HttpClientCertificate.cs
- XsdValidatingReader.cs
- BaseCodePageEncoding.cs
- DataGridTablesFactory.cs
- DictationGrammar.cs
- FlagsAttribute.cs
- CompiledXpathExpr.cs
- Properties.cs
- ZipPackage.cs
- LinearQuaternionKeyFrame.cs
- RequiredAttributeAttribute.cs
- WSDualHttpBindingCollectionElement.cs
- GenericXmlSecurityToken.cs
- Vector3DConverter.cs
- JpegBitmapEncoder.cs
- WebPartConnectionsEventArgs.cs
- Icon.cs
- HttpCapabilitiesBase.cs
- WindowsSpinner.cs
- _NestedSingleAsyncResult.cs
- RequestQueue.cs
- EventLogPermission.cs
- WebServiceParameterData.cs
- SafePEFileHandle.cs
- CodeGroup.cs
- SessionStateItemCollection.cs
- MultiAsyncResult.cs
- CatalogPartChrome.cs
- fixedPageContentExtractor.cs
- ExclusiveTcpTransportManager.cs
- SingleTagSectionHandler.cs
- LineInfo.cs
- Image.cs
- BindingsCollection.cs
- ReadOnlyObservableCollection.cs
- X509CertificateEndpointIdentity.cs
- MouseGesture.cs
- SecurityManager.cs
- PriorityQueue.cs
- ClientSideQueueItem.cs
- MsmqIntegrationBinding.cs
- DrawListViewSubItemEventArgs.cs
- InputManager.cs
- TextEditorTyping.cs
- ToolStripDropDownButton.cs
- RemotingConfigParser.cs
- EndpointAddressProcessor.cs
- PagerSettings.cs
- contentDescriptor.cs
- ConfigurationElement.cs
- ControlDesignerState.cs
- SamlSecurityTokenAuthenticator.cs
- SessionPageStatePersister.cs
- CommandField.cs
- ResourceDescriptionAttribute.cs
- securitycriticaldataformultiplegetandset.cs
- HtmlInputFile.cs
- SHA1.cs
- AnnotationService.cs
- PKCS1MaskGenerationMethod.cs
- _SslSessionsCache.cs
- DigitShape.cs
- TextTreeInsertUndoUnit.cs
- ReflectionUtil.cs
- SpAudioStreamWrapper.cs
- FormViewUpdateEventArgs.cs
- FilteredSchemaElementLookUpTable.cs
- WaveHeader.cs
- ConnectionManagementSection.cs
- MachineKeySection.cs
- X509Extension.cs
- WebConfigurationManager.cs
- Section.cs
- EntityDataReader.cs
- CodeCompileUnit.cs
- SmiRequestExecutor.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- PageAsyncTaskManager.cs
- PrintSystemException.cs
- TickBar.cs
- SafeViewOfFileHandle.cs
- ListBase.cs
- ComponentGuaranteesAttribute.cs
- UnsettableComboBox.cs
- TransactionContextValidator.cs
- _ConnectionGroup.cs
- SqlFactory.cs
- SingleTagSectionHandler.cs
- TrackBar.cs
- EntityContainerEntitySetDefiningQuery.cs
- ColorBlend.cs
- Mutex.cs
- WindowsUpDown.cs
- AQNBuilder.cs
- XPathSingletonIterator.cs
- FixedSchema.cs
- ProfileManager.cs
- PropertyMapper.cs
- XmlCharType.cs
- SimpleApplicationHost.cs