Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / Structures / WithStatement.cs / 1305376 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PrintDialog.cs
- RecommendedAsConfigurableAttribute.cs
- RequestBringIntoViewEventArgs.cs
- DockPattern.cs
- TransformerConfigurationWizardBase.cs
- WebFormDesignerActionService.cs
- Operand.cs
- SqlBuilder.cs
- CmsInterop.cs
- ErrorEventArgs.cs
- DrawListViewSubItemEventArgs.cs
- DataGridRowAutomationPeer.cs
- WriteTimeStream.cs
- ControlIdConverter.cs
- Int64.cs
- CodeMemberMethod.cs
- PageTheme.cs
- Rect3DValueSerializer.cs
- DbParameterHelper.cs
- XPathDocumentIterator.cs
- SapiInterop.cs
- GridViewRow.cs
- EntityDesignerBuildProvider.cs
- TextSchema.cs
- CryptoApi.cs
- ListItemCollection.cs
- Panel.cs
- Brushes.cs
- DataGridPageChangedEventArgs.cs
- Graph.cs
- RelationshipSet.cs
- BinaryUtilClasses.cs
- AnnotationResourceCollection.cs
- SQLSingle.cs
- CodeGeneratorOptions.cs
- LingerOption.cs
- TableLayoutPanelCodeDomSerializer.cs
- ButtonFieldBase.cs
- XmlSchemaValidationException.cs
- SqlTriggerContext.cs
- GenericIdentity.cs
- XmlUtil.cs
- MembershipPasswordException.cs
- WebPartCancelEventArgs.cs
- Compiler.cs
- TextCharacters.cs
- SqlClientPermission.cs
- ListViewGroup.cs
- DataKey.cs
- ModuleConfigurationInfo.cs
- WebPartZone.cs
- DataTableCollection.cs
- oledbmetadatacolumnnames.cs
- FixedTextSelectionProcessor.cs
- IDispatchConstantAttribute.cs
- CompoundFileReference.cs
- precedingsibling.cs
- DEREncoding.cs
- TriggerAction.cs
- BitmapImage.cs
- HwndStylusInputProvider.cs
- ScrollBar.cs
- WebBrowserPermission.cs
- HtmlLinkAdapter.cs
- GenericWebPart.cs
- SimpleLine.cs
- CalendarButtonAutomationPeer.cs
- CmsInterop.cs
- LoginName.cs
- ImageKeyConverter.cs
- BufferModesCollection.cs
- EntityDataSourceContainerNameConverter.cs
- TickBar.cs
- UserInitiatedNavigationPermission.cs
- BindableTemplateBuilder.cs
- SiteMapNodeItemEventArgs.cs
- Symbol.cs
- Visual3DCollection.cs
- ListViewCommandEventArgs.cs
- dataSvcMapFileLoader.cs
- SmtpSection.cs
- MemberJoinTreeNode.cs
- FormsAuthenticationUser.cs
- CodePropertyReferenceExpression.cs
- MemberMaps.cs
- EndOfStreamException.cs
- DrawingGroup.cs
- ThemeableAttribute.cs
- TabletCollection.cs
- Viewport2DVisual3D.cs
- CatalogPartChrome.cs
- DeclarativeCatalogPartDesigner.cs
- XmlLoader.cs
- FunctionUpdateCommand.cs
- WindowsFormsDesignerOptionService.cs
- SystemResourceKey.cs
- ValidationErrorCollection.cs
- InputMethodStateChangeEventArgs.cs
- ControlCachePolicy.cs
- DocumentOrderQuery.cs