Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataWeb / Client / System / Data / Services / Client / ALinq / NavigationPropertySingletonExpression.cs / 3 / NavigationPropertySingletonExpression.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Respresents a navigation to a singleton property.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Client
{
using System;
using System.Linq;
using System.Linq.Expressions;
using System.Collections.Generic;
using System.Diagnostics;
/// ResourceSet Expression
internal class NavigationPropertySingletonExpression : ResourceExpression
{
/// source expression
private readonly Expression source;
/// property member name
private readonly Expression memberExpression;
///
/// Creates a NavigationPropertySingletonExpression expression
///
/// the return type of the expression
/// the source expression
/// property member name
/// expand paths for resource set
/// custom query options for resourcse set
internal NavigationPropertySingletonExpression(Type type, Expression source, Expression memberExpression, List expandPaths, Dictionary customQueryOptions)
: base((ExpressionType)ResourceExpressionType.ResourceNavigationPropertySingleton, type, expandPaths, customQueryOptions)
{
this.source = source;
this.memberExpression = memberExpression;
}
///
/// Gets the member expression.
///
internal MemberExpression MemberExpression
{
get
{
return (MemberExpression)this.memberExpression;
}
}
///
/// Gets the source expression.
///
internal Expression Source
{
get
{
return this.source;
}
}
///
/// The resource type of the singe instance produced by this singleton navigation.
///
internal override Type ResourceType
{
get { return this.memberExpression.Type; }
}
///
/// 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.CustomQueryOptions.Count > 0;
}
}
///
/// Cast changes the type of the ResourceExpression
///
/// new type
/// new NavigationPropertySingletonExpression
internal override ResourceExpression Cast(Type type)
{
NavigationPropertySingletonExpression rse = new NavigationPropertySingletonExpression(
type,
this.source,
this.MemberExpression,
this.ExpandPaths.ToList(),
this.CustomQueryOptions.ToDictionary(kvp => kvp.Key, kvp => kvp.Value));
return rse;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Respresents a navigation to a singleton property.
//
//
// @owner [....]
//---------------------------------------------------------------------
namespace System.Data.Services.Client
{
using System;
using System.Linq;
using System.Linq.Expressions;
using System.Collections.Generic;
using System.Diagnostics;
/// ResourceSet Expression
internal class NavigationPropertySingletonExpression : ResourceExpression
{
/// source expression
private readonly Expression source;
/// property member name
private readonly Expression memberExpression;
///
/// Creates a NavigationPropertySingletonExpression expression
///
/// the return type of the expression
/// the source expression
/// property member name
/// expand paths for resource set
/// custom query options for resourcse set
internal NavigationPropertySingletonExpression(Type type, Expression source, Expression memberExpression, List expandPaths, Dictionary customQueryOptions)
: base((ExpressionType)ResourceExpressionType.ResourceNavigationPropertySingleton, type, expandPaths, customQueryOptions)
{
this.source = source;
this.memberExpression = memberExpression;
}
///
/// Gets the member expression.
///
internal MemberExpression MemberExpression
{
get
{
return (MemberExpression)this.memberExpression;
}
}
///
/// Gets the source expression.
///
internal Expression Source
{
get
{
return this.source;
}
}
///
/// The resource type of the singe instance produced by this singleton navigation.
///
internal override Type ResourceType
{
get { return this.memberExpression.Type; }
}
///
/// 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.CustomQueryOptions.Count > 0;
}
}
///
/// Cast changes the type of the ResourceExpression
///
/// new type
/// new NavigationPropertySingletonExpression
internal override ResourceExpression Cast(Type type)
{
NavigationPropertySingletonExpression rse = new NavigationPropertySingletonExpression(
type,
this.source,
this.MemberExpression,
this.ExpandPaths.ToList(),
this.CustomQueryOptions.ToDictionary(kvp => kvp.Key, kvp => kvp.Value));
return rse;
}
}
}
// 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
- ControlBindingsCollection.cs
- WebPartTransformerAttribute.cs
- AnimationClock.cs
- DataGridItem.cs
- SmtpException.cs
- InvalidOleVariantTypeException.cs
- NumericPagerField.cs
- CollectionConverter.cs
- OleDbParameter.cs
- BoolExpression.cs
- Duration.cs
- VisualCollection.cs
- ScriptReferenceEventArgs.cs
- WizardPanelChangingEventArgs.cs
- StylusPointPropertyUnit.cs
- DesignerTransactionCloseEvent.cs
- DurableInstance.cs
- OleDbCommand.cs
- securestring.cs
- TreeNodeEventArgs.cs
- AspProxy.cs
- TextLineBreak.cs
- TabControlAutomationPeer.cs
- Ppl.cs
- ForwardPositionQuery.cs
- XPathDocumentBuilder.cs
- AuthorizationRule.cs
- ToolboxItemLoader.cs
- Transaction.cs
- TimeIntervalCollection.cs
- Hashtable.cs
- QuestionEventArgs.cs
- Sentence.cs
- StylusButtonCollection.cs
- DES.cs
- XmlElementAttributes.cs
- TextFormatterContext.cs
- RemoteCryptoTokenProvider.cs
- ToolBarOverflowPanel.cs
- TextRange.cs
- SystemFonts.cs
- ProfileProvider.cs
- PropertyEmitter.cs
- AssociativeAggregationOperator.cs
- XslException.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- ClrProviderManifest.cs
- BuildProviderAppliesToAttribute.cs
- Pool.cs
- MouseButtonEventArgs.cs
- DependencyPropertyConverter.cs
- MembershipSection.cs
- OdbcCommandBuilder.cs
- StrokeNodeData.cs
- AVElementHelper.cs
- WebReferencesBuildProvider.cs
- ParallelTimeline.cs
- ForEachAction.cs
- coordinator.cs
- CultureSpecificStringDictionary.cs
- SqlCacheDependencyDatabaseCollection.cs
- OletxDependentTransaction.cs
- FixedDocumentPaginator.cs
- AnnotationMap.cs
- PersistencePipeline.cs
- XPathEmptyIterator.cs
- webeventbuffer.cs
- MimeMapping.cs
- DataGridViewCellEventArgs.cs
- XmlSchemaInferenceException.cs
- ByteAnimation.cs
- NavigationWindow.cs
- ContentElement.cs
- AttachInfo.cs
- DecoderFallbackWithFailureFlag.cs
- Font.cs
- XmlSchemaProviderAttribute.cs
- ObjectReferenceStack.cs
- PerformanceCounterCategory.cs
- EntityViewContainer.cs
- ScrollProperties.cs
- hresults.cs
- TableRow.cs
- EntityKey.cs
- NavigationService.cs
- DataRowView.cs
- XsltLibrary.cs
- XmlSchemaSimpleContentRestriction.cs
- DependencyPropertyKind.cs
- MethodCallTranslator.cs
- RMPermissions.cs
- WebPartChrome.cs
- DbQueryCommandTree.cs
- Compiler.cs
- HttpRawResponse.cs
- DateTimeOffsetConverter.cs
- StatusCommandUI.cs
- DataGridColumnFloatingHeader.cs
- FileLogRecordEnumerator.cs
- MulticastIPAddressInformationCollection.cs