Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / Structures / WithStatement.cs / 1 / WithStatement.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Data.Common.Utils;
using System.Text;
using System.Collections.Generic;
using System.Data.Mapping.ViewGeneration.CqlGeneration;
using System.Data.Metadata.Edm;
using System.Diagnostics;
namespace System.Data.Mapping.ViewGeneration.Structures
{
// effects: A class to denote a With statement
internal class WithStatement : InternalBase
{
#region Constructors
///
/// effects: Creates a case statement for the field "memberPath"
/// with no clauses
///
internal WithStatement(EntitySet entitySetForToEnd, EntityType entityTypeForToEnd,
EntityType entityTypeForFromEnd, AssociationSet associationSet,
string fromRoleName, string toRoleName,
IEnumerable memberPathsForEndMembers)
{
m_entitySetForToEnd = entitySetForToEnd;
m_entityTypeForToEnd = entityTypeForToEnd;
m_entityTypeForFromEnd = entityTypeForFromEnd;
m_memberPathsForEndMembers = memberPathsForEndMembers;
m_associationSet = associationSet;
m_fromRoleName = fromRoleName;
m_toRoleName = toRoleName;
}
#endregion
#region Fields
private EntitySet m_entitySetForToEnd;
private EntityType m_entityTypeForToEnd;
private EntityType m_entityTypeForFromEnd;
private AssociationSet m_associationSet;
private string m_fromRoleName;
private string m_toRoleName;
private IEnumerable m_memberPathsForEndMembers;
#endregion
#region Properties
internal EntityType EntityTypeForFromEnd
{
get { return m_entityTypeForFromEnd; }
}
#endregion
#region Methods
// effects: For the given With Statement, generates the CQL for
// it.
internal StringBuilder AsCql(StringBuilder builder, string blockAlias, int indentLevel)
{
StringUtil.IndentNewLine(builder, indentLevel + 1);
builder.Append("RELATIONSHIP(");
List fields = new List();
// If the variable is a relation end, we will gets it scope Extent, e.g., CPerson1 for an
// the CPerson end of CPersonAddress1
builder.Append("CREATEREF(");
CqlWriter.AppendEscapedQualifiedName(builder, m_entitySetForToEnd.EntityContainer.Name, m_entitySetForToEnd.Name);
builder.Append(", ROW(");
foreach (MemberPath memberPath in m_memberPathsForEndMembers)
{
string fullFieldAlias = CqlWriter.GetQualifiedName(blockAlias, memberPath.CqlFieldAlias);
fields.Add(fullFieldAlias);
}
StringUtil.ToSeparatedString(builder, fields, ", ", null);
builder.Append(')');
builder.Append(",");
CqlWriter.AppendEscapedTypeName(builder, m_entityTypeForToEnd);
builder.Append(')');
builder.Append(',');
CqlWriter.AppendEscapedTypeName(builder, m_associationSet.ElementType);
builder.Append(',');
CqlWriter.AppendEscapedName(builder, m_fromRoleName);
builder.Append(',');
CqlWriter.AppendEscapedName(builder, m_toRoleName);
builder.Append(')');
builder.Append(' ');
return builder;
}
// Repeat of AsCql but don't have all the info
internal override void ToCompactString(StringBuilder builder)
{
throw new NotImplementedException();
}
#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.Utils;
using System.Text;
using System.Collections.Generic;
using System.Data.Mapping.ViewGeneration.CqlGeneration;
using System.Data.Metadata.Edm;
using System.Diagnostics;
namespace System.Data.Mapping.ViewGeneration.Structures
{
// effects: A class to denote a With statement
internal class WithStatement : InternalBase
{
#region Constructors
///
/// effects: Creates a case statement for the field "memberPath"
/// with no clauses
///
internal WithStatement(EntitySet entitySetForToEnd, EntityType entityTypeForToEnd,
EntityType entityTypeForFromEnd, AssociationSet associationSet,
string fromRoleName, string toRoleName,
IEnumerable memberPathsForEndMembers)
{
m_entitySetForToEnd = entitySetForToEnd;
m_entityTypeForToEnd = entityTypeForToEnd;
m_entityTypeForFromEnd = entityTypeForFromEnd;
m_memberPathsForEndMembers = memberPathsForEndMembers;
m_associationSet = associationSet;
m_fromRoleName = fromRoleName;
m_toRoleName = toRoleName;
}
#endregion
#region Fields
private EntitySet m_entitySetForToEnd;
private EntityType m_entityTypeForToEnd;
private EntityType m_entityTypeForFromEnd;
private AssociationSet m_associationSet;
private string m_fromRoleName;
private string m_toRoleName;
private IEnumerable m_memberPathsForEndMembers;
#endregion
#region Properties
internal EntityType EntityTypeForFromEnd
{
get { return m_entityTypeForFromEnd; }
}
#endregion
#region Methods
// effects: For the given With Statement, generates the CQL for
// it.
internal StringBuilder AsCql(StringBuilder builder, string blockAlias, int indentLevel)
{
StringUtil.IndentNewLine(builder, indentLevel + 1);
builder.Append("RELATIONSHIP(");
List fields = new List();
// If the variable is a relation end, we will gets it scope Extent, e.g., CPerson1 for an
// the CPerson end of CPersonAddress1
builder.Append("CREATEREF(");
CqlWriter.AppendEscapedQualifiedName(builder, m_entitySetForToEnd.EntityContainer.Name, m_entitySetForToEnd.Name);
builder.Append(", ROW(");
foreach (MemberPath memberPath in m_memberPathsForEndMembers)
{
string fullFieldAlias = CqlWriter.GetQualifiedName(blockAlias, memberPath.CqlFieldAlias);
fields.Add(fullFieldAlias);
}
StringUtil.ToSeparatedString(builder, fields, ", ", null);
builder.Append(')');
builder.Append(",");
CqlWriter.AppendEscapedTypeName(builder, m_entityTypeForToEnd);
builder.Append(')');
builder.Append(',');
CqlWriter.AppendEscapedTypeName(builder, m_associationSet.ElementType);
builder.Append(',');
CqlWriter.AppendEscapedName(builder, m_fromRoleName);
builder.Append(',');
CqlWriter.AppendEscapedName(builder, m_toRoleName);
builder.Append(')');
builder.Append(' ');
return builder;
}
// Repeat of AsCql but don't have all the info
internal override void ToCompactString(StringBuilder builder)
{
throw new NotImplementedException();
}
#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
- XhtmlBasicLinkAdapter.cs
- DrawingGroup.cs
- SiteMapNodeItemEventArgs.cs
- RuleConditionDialog.Designer.cs
- CodeMethodReturnStatement.cs
- XamlSerializer.cs
- TextBoxBase.cs
- MinMaxParagraphWidth.cs
- UndoManager.cs
- BitmapDownload.cs
- SecurityElement.cs
- DrawingAttributeSerializer.cs
- DataBinder.cs
- ScriptingProfileServiceSection.cs
- StatusStrip.cs
- DataRecord.cs
- EventManager.cs
- Permission.cs
- FunctionDefinition.cs
- ToolStripDropDownItem.cs
- BitmapFrameEncode.cs
- DesignerActionListCollection.cs
- SkipStoryboardToFill.cs
- PageBuildProvider.cs
- BrushMappingModeValidation.cs
- XmlSequenceWriter.cs
- ServiceDiscoveryElement.cs
- Range.cs
- ViewStateException.cs
- ResourcesBuildProvider.cs
- StateManager.cs
- WorkflowRuntimeServiceElement.cs
- WebPartUtil.cs
- ThrowHelper.cs
- ButtonRenderer.cs
- TitleStyle.cs
- ExpandSegment.cs
- StopStoryboard.cs
- LoggedException.cs
- BCLDebug.cs
- EnumerableValidator.cs
- DeferredRunTextReference.cs
- FlowPosition.cs
- CheckBoxPopupAdapter.cs
- DataPager.cs
- StorageEndPropertyMapping.cs
- FontSource.cs
- UrlRoutingHandler.cs
- WebConfigurationManager.cs
- UnmanagedHandle.cs
- CompareValidator.cs
- CodeFieldReferenceExpression.cs
- HideDisabledControlAdapter.cs
- ExceptionValidationRule.cs
- ProcessDesigner.cs
- EdmItemCollection.cs
- XmlDocumentFragment.cs
- DiagnosticsConfigurationHandler.cs
- EventWaitHandleSecurity.cs
- UIElement.cs
- ClientUtils.cs
- LineVisual.cs
- CalculatedColumn.cs
- VisualStyleInformation.cs
- DataGridViewTextBoxEditingControl.cs
- AutoSizeToolBoxItem.cs
- Positioning.cs
- IndexOutOfRangeException.cs
- AttachInfo.cs
- InvariantComparer.cs
- PartitionResolver.cs
- PresentationTraceSources.cs
- BitmapEffectInputData.cs
- SqlDeflator.cs
- SelectionItemProviderWrapper.cs
- WmlControlAdapter.cs
- DbConnectionOptions.cs
- GridPatternIdentifiers.cs
- BitmapEffectDrawingContent.cs
- RubberbandSelector.cs
- TdsValueSetter.cs
- ObjectParameter.cs
- DecimalConverter.cs
- XmlSchemaSimpleType.cs
- ImageAutomationPeer.cs
- XmlReader.cs
- ControlLocalizer.cs
- XPathSingletonIterator.cs
- RightsManagementInformation.cs
- ScrollViewer.cs
- VScrollBar.cs
- FtpCachePolicyElement.cs
- ConfigurationManagerHelperFactory.cs
- XamlBrushSerializer.cs
- LogLogRecordEnumerator.cs
- TableCellAutomationPeer.cs
- PagedDataSource.cs
- SecurityDocument.cs
- DataSourceControl.cs
- GridToolTip.cs