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
- ContentElement.cs
- DelegatingTypeDescriptionProvider.cs
- StylusPlugin.cs
- BaseParaClient.cs
- _SingleItemRequestCache.cs
- DataRowExtensions.cs
- UpdateTranslator.cs
- StatusStrip.cs
- Pair.cs
- VectorCollectionConverter.cs
- QilXmlWriter.cs
- XmlSchemaCompilationSettings.cs
- ManipulationDeltaEventArgs.cs
- SimpleApplicationHost.cs
- HttpWebRequest.cs
- BasicHttpBinding.cs
- SkinBuilder.cs
- ConcurrencyBehavior.cs
- ProcessInfo.cs
- WebPartMenu.cs
- PreservationFileReader.cs
- PhysicalOps.cs
- Size.cs
- SerializerWriterEventHandlers.cs
- basecomparevalidator.cs
- ToolStripItemEventArgs.cs
- ProcessInputEventArgs.cs
- XmlSerializationReader.cs
- TextElement.cs
- ResourceSetExpression.cs
- WebPartsPersonalizationAuthorization.cs
- RestHandlerFactory.cs
- AsyncPostBackErrorEventArgs.cs
- SharedPersonalizationStateInfo.cs
- BrowserCapabilitiesFactory.cs
- BaseResourcesBuildProvider.cs
- ItemCheckedEvent.cs
- AccessedThroughPropertyAttribute.cs
- ManagementClass.cs
- SqlMetaData.cs
- ContextBase.cs
- TransformedBitmap.cs
- CommandValueSerializer.cs
- DataRow.cs
- RuntimeHelpers.cs
- XmlAttributeOverrides.cs
- TraceContextRecord.cs
- LogSwitch.cs
- NavigationService.cs
- GeometryHitTestResult.cs
- Walker.cs
- URIFormatException.cs
- ISAPIWorkerRequest.cs
- TypeSystem.cs
- GrammarBuilder.cs
- CertificateElement.cs
- PrePostDescendentsWalker.cs
- TypedTableBaseExtensions.cs
- EntityFunctions.cs
- MultiBindingExpression.cs
- TemplatePartAttribute.cs
- HtmlAnchor.cs
- DuplicateWaitObjectException.cs
- DecoderBestFitFallback.cs
- QueryAsyncResult.cs
- TreeNodeStyleCollection.cs
- messageonlyhwndwrapper.cs
- AdministrationHelpers.cs
- RangeBase.cs
- URI.cs
- ChtmlImageAdapter.cs
- InvalidAsynchronousStateException.cs
- SqlEnums.cs
- Trace.cs
- HostedHttpRequestAsyncResult.cs
- Scripts.cs
- ListViewItemEventArgs.cs
- ScaleTransform3D.cs
- StructureChangedEventArgs.cs
- shaperfactoryquerycachekey.cs
- ComplexPropertyEntry.cs
- AuthorizationSection.cs
- SHA512Managed.cs
- PackagingUtilities.cs
- DependencyPropertyKind.cs
- TraceProvider.cs
- StylusCollection.cs
- AudioException.cs
- SwitchAttribute.cs
- SplitterEvent.cs
- PeerObject.cs
- AuthorizationRuleCollection.cs
- PersonalizationStateQuery.cs
- BuildProviderUtils.cs
- ArgumentDirectionHelper.cs
- DataTableNameHandler.cs
- VisualStyleElement.cs
- StaticTextPointer.cs
- MarkupExtensionParser.cs
- HwndSourceParameters.cs