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 / Map / Update / Internal / UpdateExpressionVisitor.cs / 1 / UpdateExpressionVisitor.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Data.Common.CommandTrees;
namespace System.Data.Mapping.Update.Internal
{
///
/// Abstract implementation of node visitor that allows the specification of visit methods
/// for different node types (VisitPre virtual methods) and evaluation of nodes with respect
/// to the typed (TReturn) return values of their children.
///
///
/// This is not a general purpose class. It is tailored to the needs of the update pipeline.
///
/// All virtual methods throw NotSupportedException (must be explicitly overridden by each visitor).
///
/// Return type for the visitor
internal abstract class UpdateExpressionVisitor : DbExpressionVisitor
{
///
/// Gets the name of this visitor for debugging and tracing purposes.
///
protected abstract string VisitorName
{
get;
}
///
/// Utility method to generate an exception when unsupported node types are encountered.
///
/// Unsupported node
/// Not supported exception
protected NotSupportedException ConstructNotSupportedException(DbExpression node)
{
string nodeKind = null == node ? null :
node.ExpressionKind.ToString();
return EntityUtil.NotSupported(
System.Data.Entity.Strings.Update_UnsupportedExpressionKind(nodeKind, VisitorName));
}
#region IExpressionVisitor Members
public override TReturn Visit(DbExpression expression)
{
if (null != expression)
{
return expression.Accept(this);
}
else
{
throw ConstructNotSupportedException(expression);
}
}
public override TReturn Visit(DbAndExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbApplyExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbArithmeticExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbCaseExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbCastExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbComparisonExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbConstantExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbCrossJoinExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbDerefExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbDistinctExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbElementExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbExceptExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbFilterExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbFunctionExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbEntityRefExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbRefKeyExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbGroupByExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbIntersectExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbIsEmptyExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbIsNullExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbIsOfExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbJoinExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbLikeExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbLimitExpression expression)
{
throw ConstructNotSupportedException(expression);
}
#if METHOD_EXPRESSION
public override TReturn Visit(MethodExpression expression)
{
throw ConstructNotSupportedException(expression);
}
#endif
public override TReturn Visit(DbNewInstanceExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbNotExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbNullExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbOfTypeExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbOrExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbParameterReferenceExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbProjectExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbPropertyExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbQuantifierExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbRefExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbRelationshipNavigationExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbSkipExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbSortExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbTreatExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbUnionAllExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbVariableReferenceExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbScanExpression expression)
{
throw ConstructNotSupportedException(expression);
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Data.Common.CommandTrees;
namespace System.Data.Mapping.Update.Internal
{
///
/// Abstract implementation of node visitor that allows the specification of visit methods
/// for different node types (VisitPre virtual methods) and evaluation of nodes with respect
/// to the typed (TReturn) return values of their children.
///
///
/// This is not a general purpose class. It is tailored to the needs of the update pipeline.
///
/// All virtual methods throw NotSupportedException (must be explicitly overridden by each visitor).
///
/// Return type for the visitor
internal abstract class UpdateExpressionVisitor : DbExpressionVisitor
{
///
/// Gets the name of this visitor for debugging and tracing purposes.
///
protected abstract string VisitorName
{
get;
}
///
/// Utility method to generate an exception when unsupported node types are encountered.
///
/// Unsupported node
/// Not supported exception
protected NotSupportedException ConstructNotSupportedException(DbExpression node)
{
string nodeKind = null == node ? null :
node.ExpressionKind.ToString();
return EntityUtil.NotSupported(
System.Data.Entity.Strings.Update_UnsupportedExpressionKind(nodeKind, VisitorName));
}
#region IExpressionVisitor Members
public override TReturn Visit(DbExpression expression)
{
if (null != expression)
{
return expression.Accept(this);
}
else
{
throw ConstructNotSupportedException(expression);
}
}
public override TReturn Visit(DbAndExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbApplyExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbArithmeticExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbCaseExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbCastExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbComparisonExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbConstantExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbCrossJoinExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbDerefExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbDistinctExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbElementExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbExceptExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbFilterExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbFunctionExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbEntityRefExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbRefKeyExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbGroupByExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbIntersectExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbIsEmptyExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbIsNullExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbIsOfExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbJoinExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbLikeExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbLimitExpression expression)
{
throw ConstructNotSupportedException(expression);
}
#if METHOD_EXPRESSION
public override TReturn Visit(MethodExpression expression)
{
throw ConstructNotSupportedException(expression);
}
#endif
public override TReturn Visit(DbNewInstanceExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbNotExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbNullExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbOfTypeExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbOrExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbParameterReferenceExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbProjectExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbPropertyExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbQuantifierExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbRefExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbRelationshipNavigationExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbSkipExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbSortExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbTreatExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbUnionAllExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbVariableReferenceExpression expression)
{
throw ConstructNotSupportedException(expression);
}
public override TReturn Visit(DbScanExpression expression)
{
throw ConstructNotSupportedException(expression);
}
#endregion
}
}
// 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
- ClientRoleProvider.cs
- Int64Animation.cs
- peersecurityelement.cs
- Int32Converter.cs
- DataGridViewTextBoxEditingControl.cs
- FactorySettingsElement.cs
- ScrollItemPattern.cs
- ResXFileRef.cs
- XhtmlBasicFormAdapter.cs
- TypedTableBaseExtensions.cs
- OLEDB_Enum.cs
- Int16Converter.cs
- SimpleType.cs
- ItemsChangedEventArgs.cs
- TextSchema.cs
- ColumnCollection.cs
- DateTimeConverter.cs
- AutoCompleteStringCollection.cs
- TextElement.cs
- Quaternion.cs
- SchemaTableColumn.cs
- WorkflowDefinitionDispenser.cs
- InkPresenterAutomationPeer.cs
- SBCSCodePageEncoding.cs
- Geometry.cs
- RegionIterator.cs
- CollectionEditorDialog.cs
- Enum.cs
- ItemDragEvent.cs
- QilTypeChecker.cs
- CodeDomComponentSerializationService.cs
- HighlightComponent.cs
- XmlObjectSerializerWriteContextComplex.cs
- Fonts.cs
- DbExpressionRules.cs
- DataContractAttribute.cs
- XmlUTF8TextWriter.cs
- AffineTransform3D.cs
- RegexMatchCollection.cs
- MailAddressCollection.cs
- IOThreadTimer.cs
- BatchParser.cs
- Stopwatch.cs
- ProcessStartInfo.cs
- Signature.cs
- MouseActionConverter.cs
- AssociationTypeEmitter.cs
- Debug.cs
- figurelengthconverter.cs
- ModelTreeEnumerator.cs
- QuaternionAnimationBase.cs
- TextShapeableCharacters.cs
- ChtmlPageAdapter.cs
- XamlSerializationHelper.cs
- StorageAssociationTypeMapping.cs
- Matrix.cs
- UseLicense.cs
- ExceptionUtil.cs
- InkSerializer.cs
- XmlStreamNodeWriter.cs
- EventSourceCreationData.cs
- LicFileLicenseProvider.cs
- HttpCookieCollection.cs
- DrawListViewSubItemEventArgs.cs
- CultureInfo.cs
- ChannelManager.cs
- StackOverflowException.cs
- ErrorFormatterPage.cs
- DesignerTransaction.cs
- DataGridViewHeaderCell.cs
- DeclarativeCatalogPart.cs
- SplashScreenNativeMethods.cs
- ConfigsHelper.cs
- SecurityUtils.cs
- CopyCodeAction.cs
- DataGridViewRowPrePaintEventArgs.cs
- Activator.cs
- RSAOAEPKeyExchangeDeformatter.cs
- ISCIIEncoding.cs
- ProfileSection.cs
- ExtenderProvidedPropertyAttribute.cs
- SqlClientPermission.cs
- XamlTemplateSerializer.cs
- DataGridAutoFormat.cs
- CommandTreeTypeHelper.cs
- SecurityException.cs
- ConfigurationSectionGroup.cs
- TransformedBitmap.cs
- HtmlTableRow.cs
- XmlSignificantWhitespace.cs
- ResourceAttributes.cs
- ColumnHeader.cs
- SortDescription.cs
- ListControlActionList.cs
- DragStartedEventArgs.cs
- SessionStateItemCollection.cs
- DynamicDataManager.cs
- LiteralControl.cs
- TransformerInfoCollection.cs
- PingReply.cs