Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / DbQueryCommandTree.cs / 1 / DbQueryCommandTree.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....], [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Data.Metadata.Edm;
using System.Data.Common.CommandTrees.Internal;
namespace System.Data.Common.CommandTrees
{
///
/// Represents a query operation expressed as a canonical command tree.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")]
public sealed class DbQueryCommandTree : DbCommandTree
{
private ExpressionLink _query;
///
/// Gets or sets an that defines the logic of the query operation.
///
/// The expression is null
/// The expression is associated with a different command tree
public DbExpression Query
{
get
{
return _query.Expression;
}
/*CQT_PUBLIC_API(*/internal/*)*/ set
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
EntityBid.Trace(" %d#, value=%d#, %d{cqt.DbExpressionKind}\n", this.ObjectId, DbExpression.GetObjectId(value), DbExpression.GetExpressionKind(value));
_query.Expression = value;
}
}
}
///
/// Constructs a new DbQueryCommandTree that uses the specified metadata workspace.
///
/// The metadata workspace that the command tree should use.
/// The logical 'space' that metadata in the expressions used in this command tree must belong to.
/// or is null
/// does not represent a valid data space
/*CQT_PUBLIC_API(*/internal/*)*/ DbQueryCommandTree(MetadataWorkspace metadata, DataSpace dataSpace) : base(metadata, dataSpace)
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
_query = new ExpressionLink("Query", this);
}
}
///
/// Clones this command tree. This operation creates a new DbQueryCommandTree for which each expression property value is a clone of the corresponding property of this command tree.
///
/// The cloned command tree
/*CQT_PUBLIC_API(*/internal/*)*/ DbQueryCommandTree Clone()
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
DbQueryCommandTree newTree = new DbQueryCommandTree(
this.MetadataWorkspace,
this.DataSpace
);
this.CopyParametersTo(newTree);
if (this.Query != null)
{
newTree.Query = ExpressionCopier.Copy(newTree, this.Query);
}
return newTree;
}
}
internal override DbCommandTreeKind CommandTreeKind
{
get { return DbCommandTreeKind.Query; }
}
internal override void DumpStructure(ExpressionDumper dumper)
{
if (this.Query != null)
{
dumper.Dump(this.Query, "Query");
}
}
internal override string PrintTree(ExpressionPrinter printer)
{
return printer.Print(this);
}
internal override void Replace(ExpressionReplacer replacer)
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
if (this.Query != null)
{
DbExpression newQuery = replacer.Replace(this.Query);
if (!object.ReferenceEquals(newQuery, this.Query))
{
this.Query = newQuery;
}
}
}
}
internal override void Validate(System.Data.Common.CommandTrees.Internal.Validator v)
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
v.Validate(this);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....], [....]
//---------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Data.Metadata.Edm;
using System.Data.Common.CommandTrees.Internal;
namespace System.Data.Common.CommandTrees
{
///
/// Represents a query operation expressed as a canonical command tree.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId = "Db")]
public sealed class DbQueryCommandTree : DbCommandTree
{
private ExpressionLink _query;
///
/// Gets or sets an that defines the logic of the query operation.
///
/// The expression is null
/// The expression is associated with a different command tree
public DbExpression Query
{
get
{
return _query.Expression;
}
/*CQT_PUBLIC_API(*/internal/*)*/ set
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
EntityBid.Trace(" %d#, value=%d#, %d{cqt.DbExpressionKind}\n", this.ObjectId, DbExpression.GetObjectId(value), DbExpression.GetExpressionKind(value));
_query.Expression = value;
}
}
}
///
/// Constructs a new DbQueryCommandTree that uses the specified metadata workspace.
///
/// The metadata workspace that the command tree should use.
/// The logical 'space' that metadata in the expressions used in this command tree must belong to.
/// or is null
/// does not represent a valid data space
/*CQT_PUBLIC_API(*/internal/*)*/ DbQueryCommandTree(MetadataWorkspace metadata, DataSpace dataSpace) : base(metadata, dataSpace)
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
_query = new ExpressionLink("Query", this);
}
}
///
/// Clones this command tree. This operation creates a new DbQueryCommandTree for which each expression property value is a clone of the corresponding property of this command tree.
///
/// The cloned command tree
/*CQT_PUBLIC_API(*/internal/*)*/ DbQueryCommandTree Clone()
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
DbQueryCommandTree newTree = new DbQueryCommandTree(
this.MetadataWorkspace,
this.DataSpace
);
this.CopyParametersTo(newTree);
if (this.Query != null)
{
newTree.Query = ExpressionCopier.Copy(newTree, this.Query);
}
return newTree;
}
}
internal override DbCommandTreeKind CommandTreeKind
{
get { return DbCommandTreeKind.Query; }
}
internal override void DumpStructure(ExpressionDumper dumper)
{
if (this.Query != null)
{
dumper.Dump(this.Query, "Query");
}
}
internal override string PrintTree(ExpressionPrinter printer)
{
return printer.Print(this);
}
internal override void Replace(ExpressionReplacer replacer)
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
if (this.Query != null)
{
DbExpression newQuery = replacer.Replace(this.Query);
if (!object.ReferenceEquals(newQuery, this.Query))
{
this.Query = newQuery;
}
}
}
}
internal override void Validate(System.Data.Common.CommandTrees.Internal.Validator v)
{
using (new EntityBid.ScopeAuto(" %d#", this.ObjectId))
{
v.Validate(this);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PageAdapter.cs
- TreeNode.cs
- MessageSecurityException.cs
- QuotedPrintableStream.cs
- TargetConverter.cs
- AdornerPresentationContext.cs
- ApplicationSettingsBase.cs
- Triplet.cs
- BindingList.cs
- HttpUnhandledOperationInvoker.cs
- BitmapFrameDecode.cs
- FixedDocument.cs
- SystemInformation.cs
- WindowsSlider.cs
- Dynamic.cs
- TemplateColumn.cs
- XmlEntity.cs
- SettingsProperty.cs
- MediaContextNotificationWindow.cs
- FactoryMaker.cs
- EmbeddedObject.cs
- FigureHelper.cs
- HitTestWithGeometryDrawingContextWalker.cs
- BitmapData.cs
- SessionState.cs
- WeakReadOnlyCollection.cs
- WhitespaceRule.cs
- ProofTokenCryptoHandle.cs
- ProcessProtocolHandler.cs
- AnnotationMap.cs
- MethodMessage.cs
- ContractNamespaceAttribute.cs
- WebZone.cs
- InternalCache.cs
- ActivitySurrogateSelector.cs
- SiteMapDataSourceDesigner.cs
- SpecularMaterial.cs
- ServerProtocol.cs
- AdPostCacheSubstitution.cs
- IsolationInterop.cs
- TextAction.cs
- CharEntityEncoderFallback.cs
- MethodBuilder.cs
- BaseParser.cs
- FilterException.cs
- MarkupCompilePass2.cs
- DiscoveryMessageProperty.cs
- ValidatorCompatibilityHelper.cs
- BinaryNode.cs
- RC2CryptoServiceProvider.cs
- Exceptions.cs
- WebEvents.cs
- Hash.cs
- UniqueContractNameValidationBehavior.cs
- DictionaryBase.cs
- AlphabeticalEnumConverter.cs
- GreenMethods.cs
- EditorZone.cs
- RoutedPropertyChangedEventArgs.cs
- NavigationPropertyEmitter.cs
- TemplatedMailWebEventProvider.cs
- FilePrompt.cs
- RulePatternOps.cs
- _FtpDataStream.cs
- ToolStripContentPanel.cs
- CultureMapper.cs
- FlowDecision.cs
- Menu.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- QilCloneVisitor.cs
- ObjectView.cs
- XamlRtfConverter.cs
- SrgsDocumentParser.cs
- TearOffProxy.cs
- DataListItem.cs
- PerfCounters.cs
- X509Extension.cs
- NativeRecognizer.cs
- DefaultHttpHandler.cs
- AssemblyUtil.cs
- MultiSelectRootGridEntry.cs
- WindowsPrincipal.cs
- DataColumnChangeEvent.cs
- AlphaSortedEnumConverter.cs
- CodeMemberMethod.cs
- ThreadInterruptedException.cs
- XmlMapping.cs
- OperandQuery.cs
- KnownTypesHelper.cs
- DataViewManagerListItemTypeDescriptor.cs
- APCustomTypeDescriptor.cs
- Effect.cs
- PriorityBindingExpression.cs
- PageClientProxyGenerator.cs
- TextHidden.cs
- ChannelSinkStacks.cs
- ToolboxCategory.cs
- Symbol.cs
- Function.cs
- mda.cs