Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Common / CommandTrees / DbQueryCommandTree.cs / 2 / 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
- TPLETWProvider.cs
- HotSpotCollection.cs
- XpsStructure.cs
- FreeFormDragDropManager.cs
- RankException.cs
- ObjectStateEntryDbDataRecord.cs
- activationcontext.cs
- PrintPreviewControl.cs
- StringReader.cs
- EnterpriseServicesHelper.cs
- AssociationSetMetadata.cs
- DirectoryObjectSecurity.cs
- columnmapfactory.cs
- CodeDomSerializer.cs
- DecoderFallback.cs
- Query.cs
- TreeNodeConverter.cs
- SafeFileHandle.cs
- Facet.cs
- EventlogProvider.cs
- SingleAnimationUsingKeyFrames.cs
- _NegoState.cs
- HttpAsyncResult.cs
- HttpVersion.cs
- SecurityContext.cs
- COMException.cs
- PrinterSettings.cs
- RIPEMD160.cs
- Odbc32.cs
- BufferModesCollection.cs
- SelectionListComponentEditor.cs
- WindowsContainer.cs
- StringArrayConverter.cs
- BaseProcessProtocolHandler.cs
- SqlServices.cs
- EmptyStringExpandableObjectConverter.cs
- CodeTypeDeclarationCollection.cs
- Point3DAnimationBase.cs
- DefaultHttpHandler.cs
- BitmapSource.cs
- DictionarySectionHandler.cs
- LogicalTreeHelper.cs
- GuidelineCollection.cs
- DrawListViewItemEventArgs.cs
- ComboBox.cs
- Section.cs
- DataControlImageButton.cs
- CounterSet.cs
- ResolveResponseInfo.cs
- formatstringdialog.cs
- AuthenticationSection.cs
- CredentialCache.cs
- PeerNameResolver.cs
- CachedFontFamily.cs
- XmlTextAttribute.cs
- FileUtil.cs
- PageRanges.cs
- DataPagerCommandEventArgs.cs
- KeyGestureValueSerializer.cs
- RtType.cs
- GACIdentityPermission.cs
- FieldToken.cs
- RawStylusInput.cs
- HttpCookiesSection.cs
- RuleInfoComparer.cs
- BaseProcessProtocolHandler.cs
- StaticDataManager.cs
- SystemIPInterfaceStatistics.cs
- HtmlContainerControl.cs
- CancelEventArgs.cs
- IProducerConsumerCollection.cs
- UInt64Converter.cs
- ValidatorCollection.cs
- DecimalConstantAttribute.cs
- LinkedResource.cs
- EdmComplexTypeAttribute.cs
- MasterPage.cs
- QueryUtil.cs
- LinqDataSourceSelectEventArgs.cs
- SystemInformation.cs
- BaseUriWithWildcard.cs
- BamlMapTable.cs
- ModelItemKeyValuePair.cs
- FontFamilyConverter.cs
- AccessViolationException.cs
- IdentitySection.cs
- Pkcs9Attribute.cs
- PrintControllerWithStatusDialog.cs
- DeferredRunTextReference.cs
- DiscreteKeyFrames.cs
- ProvidePropertyAttribute.cs
- ItemsControl.cs
- HTMLTagNameToTypeMapper.cs
- EventPrivateKey.cs
- MouseEvent.cs
- TypedAsyncResult.cs
- DateTimeParse.cs
- HttpValueCollection.cs
- HttpCachePolicyWrapper.cs
- FixedSOMTableRow.cs