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
- RadioButtonList.cs
- SrgsRulesCollection.cs
- XPathScanner.cs
- NonSerializedAttribute.cs
- X509Extension.cs
- TTSEvent.cs
- BamlWriter.cs
- AnnotationComponentManager.cs
- SafeSystemMetrics.cs
- ChtmlMobileTextWriter.cs
- HttpConfigurationSystem.cs
- DbDataRecord.cs
- DataGridViewToolTip.cs
- StringExpressionSet.cs
- ProtocolsConfiguration.cs
- Line.cs
- TextFormatterHost.cs
- RelationshipEndCollection.cs
- BaseAsyncResult.cs
- HostingEnvironmentWrapper.cs
- HttpClientCertificate.cs
- DatasetMethodGenerator.cs
- DataRelationCollection.cs
- AdapterSwitches.cs
- FacetChecker.cs
- ExpressionBuilder.cs
- InternalConfigSettingsFactory.cs
- Rotation3D.cs
- RoleGroupCollection.cs
- QilGeneratorEnv.cs
- AbsoluteQuery.cs
- Blend.cs
- ExtentKey.cs
- SortDescription.cs
- MemoryPressure.cs
- ECDiffieHellmanCng.cs
- DataList.cs
- FixedSOMGroup.cs
- FormattedTextSymbols.cs
- ShaperBuffers.cs
- SelectionRange.cs
- WebScriptClientGenerator.cs
- WaitHandle.cs
- _AutoWebProxyScriptHelper.cs
- DBPropSet.cs
- WsdlWriter.cs
- SqlNode.cs
- RuntimeEnvironment.cs
- SizeF.cs
- Random.cs
- DbParameterCollection.cs
- ObjectToIdCache.cs
- SecurityException.cs
- ErrorWebPart.cs
- QueryRewriter.cs
- _LazyAsyncResult.cs
- SpecialFolderEnumConverter.cs
- ImageAutomationPeer.cs
- TreeNodeConverter.cs
- HandlerBase.cs
- TextEditorLists.cs
- OptimizerPatterns.cs
- Pair.cs
- ConnectionPointCookie.cs
- GiveFeedbackEvent.cs
- WebPartConnectVerb.cs
- SqlXmlStorage.cs
- ObjectConverter.cs
- XmlObjectSerializerContext.cs
- StringBuilder.cs
- SendMessageChannelCache.cs
- PeerApplication.cs
- InputScopeConverter.cs
- Activator.cs
- AnnotationAuthorChangedEventArgs.cs
- VirtualDirectoryMapping.cs
- AuthenticatedStream.cs
- CodeDirectoryCompiler.cs
- BaseParser.cs
- UrlMapping.cs
- Dictionary.cs
- OneToOneMappingSerializer.cs
- MimePart.cs
- NameValueFileSectionHandler.cs
- XDeferredAxisSource.cs
- HtmlElementEventArgs.cs
- BrowserCapabilitiesFactoryBase.cs
- WebResponse.cs
- Style.cs
- MetabaseReader.cs
- DoubleCollection.cs
- CallTemplateAction.cs
- PictureBoxDesigner.cs
- SmiEventSink_Default.cs
- UpDownBase.cs
- HtmlTableRowCollection.cs
- Section.cs
- HtmlGenericControl.cs
- ValidationPropertyAttribute.cs
- NameValuePermission.cs