Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / QueryRewriting / RoleBoolean.cs / 1305376 / RoleBoolean.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Data.Common.Utils.Boolean;
using System.Text;
using System.Collections.Generic;
using System.Data.Common.Utils;
using System.Data.Mapping.ViewGeneration.CqlGeneration;
using System.Data.Mapping.ViewGeneration.Utils;
using System.Data.Mapping.ViewGeneration.Structures;
using System.Data.Metadata.Edm;
using System.Data.Entity;
namespace System.Data.Mapping.ViewGeneration.QueryRewriting
{
using DomainBoolExpr = BoolExpr>;
using DomainNotExpr = NotExpr>;
using DomainTermExpr = TermExpr>;
///
/// Denotes the fact that the key of the current tuple comes from a specific extent, or association role
///
internal class RoleBoolean : TrueFalseLiteral
{
#region Constructor
internal RoleBoolean(EntitySetBase extent)
{
m_metadataItem = extent;
}
internal RoleBoolean(AssociationSetEnd end)
{
m_metadataItem = end;
}
#endregion
#region Fields
private MetadataItem m_metadataItem;
#endregion
#region BoolLiteral members
internal override StringBuilder AsCql(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
ToCompactString(builder);
builder.Append("(");
builder.Append(blockAlias);
builder.Append(")");
return builder;
}
internal override StringBuilder AsUserString(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
AssociationSetEnd end = m_metadataItem as AssociationSetEnd;
if (end != null)
{
builder.Append(Strings.ViewGen_AssociationSet_AsUserString(blockAlias, end.Name, end.ParentAssociationSet));
}
else
{
builder.Append(Strings.ViewGen_EntitySet_AsUserString(blockAlias, m_metadataItem.ToString()));
}
return builder;
}
internal override StringBuilder AsNegatedUserString(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
AssociationSetEnd end = m_metadataItem as AssociationSetEnd;
if (end != null)
{
builder.Append(Strings.ViewGen_AssociationSet_AsUserString_Negated(blockAlias, end.Name, end.ParentAssociationSet));
}
else
{
builder.Append(Strings.ViewGen_EntitySet_AsUserString_Negated(blockAlias, m_metadataItem.ToString()));
}
return builder;
}
internal override void GetRequiredSlots(MemberProjectionIndex projectedSlotMap, bool[] requiredSlots)
{
throw new NotImplementedException();
}
protected override bool IsEqualTo(BoolLiteral right)
{
RoleBoolean rightBoolean = right as RoleBoolean;
if (rightBoolean == null)
{
return false;
}
return m_metadataItem == rightBoolean.m_metadataItem;
}
protected override int GetHash()
{
return m_metadataItem.GetHashCode();
}
// effects: See BoolExpression.RemapBool
internal override BoolLiteral RemapBool(Dictionary remap)
{
return this;
}
#endregion
#region Other Methods
internal override void ToCompactString(StringBuilder builder)
{
AssociationSetEnd end = m_metadataItem as AssociationSetEnd;
if (end != null)
{
builder.Append("InEnd:" + end.ParentAssociationSet + "_" + end.Name);
}
else
{
builder.Append("InSet:" + m_metadataItem.ToString());
}
}
#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
- ComEventsHelper.cs
- DependencyPropertyKey.cs
- ToolStripItemClickedEventArgs.cs
- webproxy.cs
- Knowncolors.cs
- ObjectReaderCompiler.cs
- RadioButtonBaseAdapter.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- SplitContainerDesigner.cs
- ValidationPropertyAttribute.cs
- CmsInterop.cs
- SrgsText.cs
- SequenceQuery.cs
- ObjectSerializerFactory.cs
- NavigationPropertyAccessor.cs
- PathParser.cs
- PageAction.cs
- PrinterUnitConvert.cs
- DesignerActionPropertyItem.cs
- CacheDependency.cs
- MarkupCompiler.cs
- SecurityTokenException.cs
- OperationCanceledException.cs
- XPathNavigator.cs
- Paragraph.cs
- XmlAttributeProperties.cs
- DeviceFilterEditorDialog.cs
- NullableFloatSumAggregationOperator.cs
- TableLayoutStyleCollection.cs
- ProcessModuleCollection.cs
- WinFormsComponentEditor.cs
- WebServiceParameterData.cs
- ParserExtension.cs
- baseshape.cs
- bidPrivateBase.cs
- Transactions.cs
- Bezier.cs
- Property.cs
- DataGridViewCellParsingEventArgs.cs
- Process.cs
- DynamicQueryStringParameter.cs
- IconBitmapDecoder.cs
- SafeCryptContextHandle.cs
- ObjectDisposedException.cs
- HtmlSelect.cs
- ScriptingJsonSerializationSection.cs
- _FtpDataStream.cs
- ImplicitInputBrush.cs
- PLINQETWProvider.cs
- DesignTimeTemplateParser.cs
- DbgUtil.cs
- ThreadStateException.cs
- IPAddress.cs
- DesignerView.cs
- ChangeTracker.cs
- ClassicBorderDecorator.cs
- UIElement3D.cs
- SerialStream.cs
- ActivityMarkupSerializationProvider.cs
- XsltQilFactory.cs
- ColorAnimation.cs
- WindowsSecurityToken.cs
- HierarchicalDataBoundControl.cs
- BaseValidator.cs
- HttpRequestTraceRecord.cs
- DesignTimeSiteMapProvider.cs
- RectValueSerializer.cs
- PerfService.cs
- recordstatefactory.cs
- Splitter.cs
- XPathArrayIterator.cs
- CustomErrorCollection.cs
- diagnosticsswitches.cs
- ObjectPersistData.cs
- MaterialCollection.cs
- ValueQuery.cs
- X500Name.cs
- UrlPath.cs
- RequestQueue.cs
- PerformanceCounterManager.cs
- XmlSchemaIdentityConstraint.cs
- RegexGroup.cs
- ProjectionCamera.cs
- SerializationInfoEnumerator.cs
- RuntimeTransactionHandle.cs
- TimeIntervalCollection.cs
- DataTableReaderListener.cs
- ViewEvent.cs
- EventProviderWriter.cs
- KnownTypeHelper.cs
- ApplicationSecurityInfo.cs
- SafeLocalAllocation.cs
- IsolationInterop.cs
- HttpModulesSection.cs
- SuppressIldasmAttribute.cs
- SqlWriter.cs
- ResourceContainer.cs
- PairComparer.cs
- InkCanvasSelectionAdorner.cs
- WindowsProgressbar.cs