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 / 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
- FullTextLine.cs
- TransactionManager.cs
- LoadedOrUnloadedOperation.cs
- XmlSchemaRedefine.cs
- Part.cs
- IsolatedStorageException.cs
- HtmlInputText.cs
- BaseCAMarshaler.cs
- EventDescriptorCollection.cs
- NotifyCollectionChangedEventArgs.cs
- DocumentOrderQuery.cs
- EasingKeyFrames.cs
- OletxCommittableTransaction.cs
- Rect3D.cs
- XmlBinaryReader.cs
- Style.cs
- DataGridViewTextBoxCell.cs
- DynamicValueConverter.cs
- Renderer.cs
- NameValueConfigurationCollection.cs
- XmlLoader.cs
- ElementNotEnabledException.cs
- QueryConverter.cs
- CursorInteropHelper.cs
- VisualBasicHelper.cs
- GridSplitter.cs
- TransformationRules.cs
- SqlParameterCollection.cs
- ItemContainerGenerator.cs
- TextSelectionHelper.cs
- EntityType.cs
- DependencyPropertyAttribute.cs
- UITypeEditor.cs
- PackUriHelper.cs
- XmlCharType.cs
- Activation.cs
- RegisteredDisposeScript.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- SafeRightsManagementSessionHandle.cs
- ElementProxy.cs
- CloseSequenceResponse.cs
- DiagnosticTrace.cs
- PropertyRecord.cs
- Oci.cs
- Annotation.cs
- DiagnosticTrace.cs
- ComPlusTypeLoader.cs
- DataGrid.cs
- SizeAnimationUsingKeyFrames.cs
- Underline.cs
- XPathQilFactory.cs
- SendMailErrorEventArgs.cs
- WorkflowItemsPresenter.cs
- KeyConstraint.cs
- HostingEnvironment.cs
- XPathPatternBuilder.cs
- ConvertersCollection.cs
- SharedUtils.cs
- FontSource.cs
- SessionIDManager.cs
- DetailsViewUpdatedEventArgs.cs
- FrameworkRichTextComposition.cs
- XsltFunctions.cs
- SafeRightsManagementQueryHandle.cs
- WebPartCatalogAddVerb.cs
- SettingsPropertyIsReadOnlyException.cs
- DbDataRecord.cs
- invalidudtexception.cs
- ShaderRenderModeValidation.cs
- XMLUtil.cs
- XamlVector3DCollectionSerializer.cs
- VarInfo.cs
- CatalogPartCollection.cs
- HttpChannelListener.cs
- SymmetricAlgorithm.cs
- Visual3D.cs
- Pkcs9Attribute.cs
- SaveFileDialog.cs
- TaskFormBase.cs
- DecimalKeyFrameCollection.cs
- QuaternionAnimation.cs
- TouchesCapturedWithinProperty.cs
- NameTable.cs
- FormViewDeleteEventArgs.cs
- EdgeModeValidation.cs
- CompareInfo.cs
- IPEndPointCollection.cs
- CryptoApi.cs
- ResponseBodyWriter.cs
- EncryptedData.cs
- SqlDeflator.cs
- MailSettingsSection.cs
- DataServiceRequestOfT.cs
- PropertyRecord.cs
- RegexWriter.cs
- SafeRightsManagementHandle.cs
- CodeDirectoryCompiler.cs
- DataGridViewColumnCollection.cs
- RequestNavigateEventArgs.cs
- IsolatedStorageFile.cs