Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / QueryRewriting / RoleBoolean.cs / 1 / 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(MemberPathMapBase 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(Dictionaryremap) { return this; } internal override bool CheckRepInvariant() { return true; } #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. //---------------------------------------------------------------------- // // 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(MemberPathMapBase 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(Dictionaryremap) { return this; } internal override bool CheckRepInvariant() { return true; } #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
- ProviderCollection.cs
- recordstatescratchpad.cs
- ToolTipAutomationPeer.cs
- mediaeventargs.cs
- HitTestParameters3D.cs
- WebBrowserNavigatedEventHandler.cs
- ValidatorUtils.cs
- ProvidersHelper.cs
- MetadataElement.cs
- UIServiceHelper.cs
- CalendarDay.cs
- MarshalByValueComponent.cs
- IndexOutOfRangeException.cs
- PresentationTraceSources.cs
- EntityTemplateUserControl.cs
- HelpProvider.cs
- PartialArray.cs
- ASCIIEncoding.cs
- DataGridViewRowPostPaintEventArgs.cs
- CodeConditionStatement.cs
- VersionUtil.cs
- XPathSelfQuery.cs
- ServerValidateEventArgs.cs
- ObjectPersistData.cs
- EntityCommand.cs
- RSAOAEPKeyExchangeFormatter.cs
- ProgressBar.cs
- RemotingServices.cs
- MouseOverProperty.cs
- MexTcpBindingElement.cs
- ConfigsHelper.cs
- TdsValueSetter.cs
- MultiByteCodec.cs
- OptimizerPatterns.cs
- Part.cs
- Style.cs
- NavigationPropertyAccessor.cs
- CryptoHandle.cs
- TemplateBuilder.cs
- PropertyFilterAttribute.cs
- Assert.cs
- DateTimeConverter.cs
- Root.cs
- XpsFixedDocumentReaderWriter.cs
- CollectionChangeEventArgs.cs
- DataSourceCacheDurationConverter.cs
- FieldAccessException.cs
- EntityViewGenerationAttribute.cs
- XmlBinaryReader.cs
- _ScatterGatherBuffers.cs
- PeerTransportBindingElement.cs
- SoapIgnoreAttribute.cs
- AuthenticationModuleElement.cs
- QueryCacheKey.cs
- WebBrowserPermission.cs
- PassportAuthenticationModule.cs
- AuditLog.cs
- ByteStream.cs
- SessionStateSection.cs
- XmlWriterSettings.cs
- _AcceptOverlappedAsyncResult.cs
- CompletedAsyncResult.cs
- XAMLParseException.cs
- WebPageTraceListener.cs
- LinkTarget.cs
- MouseActionConverter.cs
- ViewSimplifier.cs
- Visitor.cs
- WebControl.cs
- NumberFunctions.cs
- ReceiveReply.cs
- _Semaphore.cs
- TrayIconDesigner.cs
- ControlBuilderAttribute.cs
- TagNameToTypeMapper.cs
- AndCondition.cs
- JsonReaderDelegator.cs
- RtfToXamlLexer.cs
- GridViewUpdatedEventArgs.cs
- ProtectedProviderSettings.cs
- StatusBar.cs
- StopStoryboard.cs
- BatchWriter.cs
- TextTreeRootTextBlock.cs
- CryptoHandle.cs
- TextBoxRenderer.cs
- TextDecorationLocationValidation.cs
- MediaSystem.cs
- HashLookup.cs
- LinqDataSourceEditData.cs
- HtmlTableRow.cs
- X509Chain.cs
- DataGridToolTip.cs
- RangeContentEnumerator.cs
- Walker.cs
- PartialClassGenerationTaskInternal.cs
- KeyManager.cs
- XPathAxisIterator.cs
- SafeNativeMethods.cs
- NumericUpDownAcceleration.cs