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
- ContentOnlyMessage.cs
- CheckBoxBaseAdapter.cs
- BitmapVisualManager.cs
- SmiRecordBuffer.cs
- newinstructionaction.cs
- SimpleHandlerBuildProvider.cs
- ValidatingReaderNodeData.cs
- SchemaMerger.cs
- PerformanceCounterLib.cs
- BindingCollection.cs
- TypeReference.cs
- SectionVisual.cs
- ToolboxItemCollection.cs
- StorageMappingItemCollection.cs
- NativeMethods.cs
- FilterQueryOptionExpression.cs
- wgx_commands.cs
- BufferManager.cs
- ClientSponsor.cs
- RegionInfo.cs
- ToolStripTextBox.cs
- DataGridHelper.cs
- DocumentApplicationDocumentViewer.cs
- ParserStack.cs
- UnsafeNativeMethods.cs
- ComboBoxAutomationPeer.cs
- DataGridViewSelectedColumnCollection.cs
- Baml6ConstructorInfo.cs
- WindowsToolbarItemAsMenuItem.cs
- CriticalFinalizerObject.cs
- FixedSOMGroup.cs
- QuotedPrintableStream.cs
- Emitter.cs
- FixedFlowMap.cs
- PersonalizationEntry.cs
- RelationshipDetailsRow.cs
- MessageVersionConverter.cs
- LayoutEditorPart.cs
- CompositeControl.cs
- TextSpanModifier.cs
- ErrorTableItemStyle.cs
- SqlUtil.cs
- ButtonField.cs
- HttpCacheVaryByContentEncodings.cs
- CompilerState.cs
- MethodToken.cs
- ConfigurationManager.cs
- TemplateAction.cs
- MutexSecurity.cs
- XmlSchemaSimpleTypeList.cs
- ConfigXmlCDataSection.cs
- Win32.cs
- MessageQueueKey.cs
- ClonableStack.cs
- SafeMarshalContext.cs
- WinFormsSecurity.cs
- _FtpControlStream.cs
- TypeReference.cs
- VirtualDirectoryMappingCollection.cs
- PackWebResponse.cs
- Int32Rect.cs
- SafeEventLogWriteHandle.cs
- DynamicValueConverter.cs
- EventDescriptorCollection.cs
- PostBackOptions.cs
- RuntimeEnvironment.cs
- BamlStream.cs
- HMAC.cs
- EncodingTable.cs
- Console.cs
- PartitionedStreamMerger.cs
- XmlSerializationReader.cs
- IssuedTokenClientBehaviorsElement.cs
- DictionaryKeyPropertyAttribute.cs
- ProxyRpc.cs
- PropertySourceInfo.cs
- SqlCommand.cs
- SizeAnimationClockResource.cs
- AnnouncementDispatcherAsyncResult.cs
- ListViewContainer.cs
- ImageSource.cs
- WebEventTraceProvider.cs
- BitStack.cs
- FaultDescriptionCollection.cs
- _Semaphore.cs
- XmlQueryOutput.cs
- ContentControl.cs
- GenericIdentity.cs
- ViewGenerator.cs
- LeaseManager.cs
- ToolStripProgressBar.cs
- FlowDocumentReader.cs
- UserInitiatedNavigationPermission.cs
- counter.cs
- DataSet.cs
- ColumnHeaderConverter.cs
- DbConnectionPool.cs
- SetStateEventArgs.cs
- ReflectTypeDescriptionProvider.cs
- QueryContinueDragEvent.cs