Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / CqlGeneration / CqlWriter.cs / 1305376 / CqlWriter.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Text.RegularExpressions; using System.Text; using System.Data.Common.Utils; using System.Data.Mapping.ViewGeneration.Utils; using System.Data.Metadata.Edm; namespace System.Data.Mapping.ViewGeneration.CqlGeneration { // This class contains helper methods needed for generating Cql internal static class CqlWriter { #region Fields private static readonly Regex s_wordIdentifierRegex = new Regex(@"^[_A-Za-z]\w*$", RegexOptions.ECMAScript | RegexOptions.Compiled); #endregion #region Helper Methods // effects: Given a block name and a field in it -- returns a string // of form "blockName.field". Does not perform any escaping internal static string GetQualifiedName(string blockName, string field) { string result = StringUtil.FormatInvariant("{0}.{1}", blockName, field); return result; } // effects: Modifies builder to contain an escaped version of type's name as "[namespace.typename]" internal static void AppendEscapedTypeName(StringBuilder builder, EdmType type) { AppendEscapedName(builder, GetQualifiedName(type.NamespaceName, type.Name)); } // effects: Modifies builder to contain an escaped version of "name1.name2" as "[name1].[name2]" internal static void AppendEscapedQualifiedName(StringBuilder builder, string name1, string name2) { AppendEscapedName(builder, name1); builder.Append('.'); AppendEscapedName(builder, name2); } // effects: Modifies builder to contain an escaped version of "name" internal static void AppendEscapedName(StringBuilder builder, string name) { if (s_wordIdentifierRegex.IsMatch(name) && false == ExternalCalls.IsReservedKeyword(name)) { // We do not need to escape the name if it is a simple name and it is not a keyword builder.Append(name); } else { string newName = name.Replace("]", "]]"); builder.Append('[') .Append(newName) .Append(']'); } } #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
- RangeValuePattern.cs
- QueryCacheManager.cs
- EntitySet.cs
- TextEffectResolver.cs
- DateTimeConstantAttribute.cs
- SystemTcpConnection.cs
- OracleDataAdapter.cs
- QuaternionRotation3D.cs
- ResizingMessageFilter.cs
- EpmSyndicationContentSerializer.cs
- RevocationPoint.cs
- PolicyDesigner.cs
- HashSet.cs
- DeferredTextReference.cs
- WpfKnownType.cs
- EventLogPermission.cs
- Token.cs
- HtmlImage.cs
- HitTestWithGeometryDrawingContextWalker.cs
- EntityContainerEntitySetDefiningQuery.cs
- GenericUriParser.cs
- ValidationErrorCollection.cs
- Logging.cs
- XamlParser.cs
- Authorization.cs
- XmlQualifiedNameTest.cs
- ContextStaticAttribute.cs
- Attachment.cs
- uribuilder.cs
- SynchronizationContext.cs
- ProjectedSlot.cs
- WrappedIUnknown.cs
- SafeCoTaskMem.cs
- Error.cs
- PartitionResolver.cs
- SafeRegistryHandle.cs
- QueryAsyncResult.cs
- AssemblyBuilderData.cs
- StorageAssociationTypeMapping.cs
- SettingsBindableAttribute.cs
- SmiTypedGetterSetter.cs
- CopyNamespacesAction.cs
- TemplateBaseAction.cs
- MetadataCollection.cs
- DecimalConverter.cs
- ComponentCollection.cs
- ParameterElementCollection.cs
- MsmqInputSessionChannelListener.cs
- Light.cs
- FileNotFoundException.cs
- safelink.cs
- MarkupExtensionReturnTypeAttribute.cs
- EqualityComparer.cs
- ProgressBarAutomationPeer.cs
- ObfuscateAssemblyAttribute.cs
- TargetControlTypeCache.cs
- DataGridViewRowPostPaintEventArgs.cs
- ByteStack.cs
- ViewCellRelation.cs
- Form.cs
- HtmlCalendarAdapter.cs
- ProviderConnectionPoint.cs
- SubMenuStyle.cs
- XhtmlBasicSelectionListAdapter.cs
- ColumnReorderedEventArgs.cs
- FixedStringLookup.cs
- ListMarkerLine.cs
- SiteMapPath.cs
- COM2PropertyBuilderUITypeEditor.cs
- UpdatePanelTriggerCollection.cs
- MenuBindingsEditor.cs
- Opcode.cs
- BitmapEffect.cs
- QueueNameHelper.cs
- DynamicRendererThreadManager.cs
- RequestQueryProcessor.cs
- SspiHelper.cs
- DelegateArgumentReference.cs
- BaseTransportHeaders.cs
- MailAddressCollection.cs
- FacetValueContainer.cs
- DragStartedEventArgs.cs
- PropertyPathWorker.cs
- HelpKeywordAttribute.cs
- InkCanvasSelectionAdorner.cs
- JsonEnumDataContract.cs
- DataServiceKeyAttribute.cs
- EntityDataSourceDesignerHelper.cs
- ViewGenResults.cs
- ChannelManager.cs
- MetadataUtilsSmi.cs
- TextRange.cs
- FileSystemInfo.cs
- SystemTcpConnection.cs
- HtmlElementCollection.cs
- DataExpression.cs
- odbcmetadatafactory.cs
- DiscoveryClientChannelBase.cs
- SapiRecognizer.cs
- SBCSCodePageEncoding.cs