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 / Common / EntitySql / ParserOptions.cs / 1 / ParserOptions.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Common.EntitySql { using System; using System.Globalization; // // disables XML doc overloads warning as error // #pragma warning disable 0419 ////// Represents eSql Text Compilation options. /// ParserOptions can be optionaly passed to CqlQuery.Compile or CqlQuery.Parse methods /// internal sealed class ParserOptions { //////
///Thrown if the properties are changed after being consumed by CqlQuery.Parse or CqlQuery.Compile ////// Once ParserOptions is passed and consumed by Compile or Parse Methods, it cannot be changed. /// If a setter is called after a ParserOptions instance is consumed by Parse or Compile methods, a EntityException will be raised. /// ///- ///
Compile Method - ///
Parse Method /// eSql enum Case Sensitivity values /// internal enum CaseSensitiveness { ////// Case Sensitive /// CaseSensitive, ////// Case Insensitive /// CaseInsensitive } private bool _bReadOnly = false; ////// AllowQuotedIdentifiers:={true|false}, default value: {false} /// Causes eSql to follow the SQL-92 rules regarding quotation mark /// delimiting identifiers and literal strings. Identifiers delimited /// by double quotation marks can be either eSql reserved keywords /// or can contain characters not usually allowed by the eSql syntax /// rules for identifiers. /// ////// The default setting for this option is to interpret double quotes as literal strings. /// ///true or false ///Thrown if the option is changed after being consumed by Compile or Parse methods internal bool AllowQuotedIdentifiers { get { return _allowQuotedIdentifiers; } #if WHEN_NEEDED set { CheckIfReadOnly(); _allowQuotedIdentifiers = value; } #endif } private bool _allowQuotedIdentifiers = false; ////// IdentifierCaseSensitiveness:={CaseSensitiveness.CaseSensitive|CaseSensitiveness.CaseInsensitive}, Default:={CaseSensitiveness.CaseSensitive} /// Define the eSql compiler behavior regarding case sensitiveness of variables and aliases. /// ////// The default setting for this option is Case Sensitive. /// Types names are not affected by this option and depend on metadata service case-sensitivity rules. /// ///CaseSensitiveness.CaseSensitive or CaseSensitiveness.CaseInsensitive ///Thrown if the option is changed after being consumed by Compile or Parse methods internal CaseSensitiveness IdentifierCaseSensitiveness { get { return _identifierCaseSensitiveness; } #if WHEN_NEEDED set { CheckIfReadOnly(); _identifierCaseSensitiveness = value; } #endif } private CaseSensitiveness _identifierCaseSensitiveness = CaseSensitiveness.CaseInsensitive; ////// Defines OrderBy Collation specification. /// ////// The default is no collation specification. /// the COLLATION sub-clause in ORDER BY clause always overrides this property. In other words, this property takes effect only if /// there is no COLLATION sub-clause defined in a eSql ORDER BY Statement. /// ///Sort Collation name ///Thrown if the option is changed after being consumed by Compile or Parse methods internal string DefaultOrderByCollation { get { return _defaultOrderByCollation ?? String.Empty; } #if WHEN_NEEDED set { CheckIfReadOnly(); _defaultOrderByCollation = (null != value) ? value.Trim() : value; } #endif } private string _defaultOrderByCollation = null; ////// Makes options read-only /// ///internal ParserOptions MakeReadOnly() { #if WHEN_NEEDED _bReadOnly = true; #endif return this; } internal enum CompilationMode { /// /// Normal mode. Compiles all statements in the query. /// NormalMode, ////// View generation mode, optimizes compilation process to ignore uncessary eSql constructs. /// IMPORTANT NOTE: In this setting, the eSql query will be compiled in a restricted mode in /// which GROUP BY, HAVING and ORDER BY clauses will be short-circuited and ignored. If your /// view or query has *and* requires these constructs to be compiled, *do not use this option*. /// This optimization applies to all levels and sub-queries not only the topmost query. /// RestrictedViewGenerationMode, ////// Enables full eSql compilation without optimizations and enables type constructor with WITH RELATIONSHIP clause /// UserViewGenerationMode } ////// Sets/Gets eSQL parser compilation mode. /// internal CompilationMode ParserCompilationMode { get { return _compilationMode; } set { CheckIfReadOnly(); _compilationMode = value; } } private CompilationMode _compilationMode = CompilationMode.NormalMode; ////// Verify if setters are allowed. /// private void CheckIfReadOnly() { if (_bReadOnly) { throw EntityUtil.EntitySqlError(System.Data.Entity.Strings.PropertyCannotBeChangedAtThisTime); } } } #pragma warning restore 0419 } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Common.EntitySql { using System; using System.Globalization; // // disables XML doc overloads warning as error // #pragma warning disable 0419 ////// Represents eSql Text Compilation options. /// ParserOptions can be optionaly passed to CqlQuery.Compile or CqlQuery.Parse methods /// internal sealed class ParserOptions { //////
///Thrown if the properties are changed after being consumed by CqlQuery.Parse or CqlQuery.Compile ////// Once ParserOptions is passed and consumed by Compile or Parse Methods, it cannot be changed. /// If a setter is called after a ParserOptions instance is consumed by Parse or Compile methods, a EntityException will be raised. /// ///- ///
Compile Method - ///
Parse Method /// eSql enum Case Sensitivity values /// internal enum CaseSensitiveness { ////// Case Sensitive /// CaseSensitive, ////// Case Insensitive /// CaseInsensitive } private bool _bReadOnly = false; ////// AllowQuotedIdentifiers:={true|false}, default value: {false} /// Causes eSql to follow the SQL-92 rules regarding quotation mark /// delimiting identifiers and literal strings. Identifiers delimited /// by double quotation marks can be either eSql reserved keywords /// or can contain characters not usually allowed by the eSql syntax /// rules for identifiers. /// ////// The default setting for this option is to interpret double quotes as literal strings. /// ///true or false ///Thrown if the option is changed after being consumed by Compile or Parse methods internal bool AllowQuotedIdentifiers { get { return _allowQuotedIdentifiers; } #if WHEN_NEEDED set { CheckIfReadOnly(); _allowQuotedIdentifiers = value; } #endif } private bool _allowQuotedIdentifiers = false; ////// IdentifierCaseSensitiveness:={CaseSensitiveness.CaseSensitive|CaseSensitiveness.CaseInsensitive}, Default:={CaseSensitiveness.CaseSensitive} /// Define the eSql compiler behavior regarding case sensitiveness of variables and aliases. /// ////// The default setting for this option is Case Sensitive. /// Types names are not affected by this option and depend on metadata service case-sensitivity rules. /// ///CaseSensitiveness.CaseSensitive or CaseSensitiveness.CaseInsensitive ///Thrown if the option is changed after being consumed by Compile or Parse methods internal CaseSensitiveness IdentifierCaseSensitiveness { get { return _identifierCaseSensitiveness; } #if WHEN_NEEDED set { CheckIfReadOnly(); _identifierCaseSensitiveness = value; } #endif } private CaseSensitiveness _identifierCaseSensitiveness = CaseSensitiveness.CaseInsensitive; ////// Defines OrderBy Collation specification. /// ////// The default is no collation specification. /// the COLLATION sub-clause in ORDER BY clause always overrides this property. In other words, this property takes effect only if /// there is no COLLATION sub-clause defined in a eSql ORDER BY Statement. /// ///Sort Collation name ///Thrown if the option is changed after being consumed by Compile or Parse methods internal string DefaultOrderByCollation { get { return _defaultOrderByCollation ?? String.Empty; } #if WHEN_NEEDED set { CheckIfReadOnly(); _defaultOrderByCollation = (null != value) ? value.Trim() : value; } #endif } private string _defaultOrderByCollation = null; ////// Makes options read-only /// ///internal ParserOptions MakeReadOnly() { #if WHEN_NEEDED _bReadOnly = true; #endif return this; } internal enum CompilationMode { /// /// Normal mode. Compiles all statements in the query. /// NormalMode, ////// View generation mode, optimizes compilation process to ignore uncessary eSql constructs. /// IMPORTANT NOTE: In this setting, the eSql query will be compiled in a restricted mode in /// which GROUP BY, HAVING and ORDER BY clauses will be short-circuited and ignored. If your /// view or query has *and* requires these constructs to be compiled, *do not use this option*. /// This optimization applies to all levels and sub-queries not only the topmost query. /// RestrictedViewGenerationMode, ////// Enables full eSql compilation without optimizations and enables type constructor with WITH RELATIONSHIP clause /// UserViewGenerationMode } ////// Sets/Gets eSQL parser compilation mode. /// internal CompilationMode ParserCompilationMode { get { return _compilationMode; } set { CheckIfReadOnly(); _compilationMode = value; } } private CompilationMode _compilationMode = CompilationMode.NormalMode; ////// Verify if setters are allowed. /// private void CheckIfReadOnly() { if (_bReadOnly) { throw EntityUtil.EntitySqlError(System.Data.Entity.Strings.PropertyCannotBeChangedAtThisTime); } } } #pragma warning restore 0419 } // 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
- ValueTable.cs
- Triangle.cs
- ApplicationServiceHelper.cs
- ZoneLinkButton.cs
- ValidationErrorEventArgs.cs
- SecurityDocument.cs
- HWStack.cs
- UniqueEventHelper.cs
- EditorAttribute.cs
- QueryOutputWriterV1.cs
- WebDescriptionAttribute.cs
- HttpRuntimeSection.cs
- XmlSchemaType.cs
- DrawListViewColumnHeaderEventArgs.cs
- DeliveryRequirementsAttribute.cs
- RecognizerStateChangedEventArgs.cs
- QueryContinueDragEventArgs.cs
- UpdatePanelTrigger.cs
- IDReferencePropertyAttribute.cs
- ColorTranslator.cs
- X509Certificate2.cs
- NullableFloatSumAggregationOperator.cs
- CmsInterop.cs
- DSASignatureFormatter.cs
- InvalidWMPVersionException.cs
- RecipientInfo.cs
- ToolStripStatusLabel.cs
- SelectingProviderEventArgs.cs
- ContainerParaClient.cs
- FileDialogCustomPlacesCollection.cs
- MenuItemStyleCollection.cs
- ContextStaticAttribute.cs
- DbDataRecord.cs
- HtmlShimManager.cs
- TypeDescriptionProvider.cs
- TraceProvider.cs
- httpstaticobjectscollection.cs
- ManipulationDevice.cs
- Int16AnimationUsingKeyFrames.cs
- FacetDescription.cs
- ThrowHelper.cs
- StoragePropertyMapping.cs
- DbConnectionFactory.cs
- EntityCommandExecutionException.cs
- ManipulationLogic.cs
- _LocalDataStore.cs
- _ConnectionGroup.cs
- GridViewUpdatedEventArgs.cs
- UInt32.cs
- ResourcePermissionBase.cs
- PeerChannelFactory.cs
- baseshape.cs
- XmlValidatingReader.cs
- EventProviderWriter.cs
- Scripts.cs
- Predicate.cs
- FullTextBreakpoint.cs
- SmiEventStream.cs
- DiffuseMaterial.cs
- DataGridViewLinkColumn.cs
- SerialPinChanges.cs
- BulletedList.cs
- DetailsViewPagerRow.cs
- TransformProviderWrapper.cs
- EventProviderTraceListener.cs
- EventWaitHandle.cs
- TagNameToTypeMapper.cs
- IPPacketInformation.cs
- UInt16Converter.cs
- GetWinFXPath.cs
- TypedTableBase.cs
- Addressing.cs
- ProxyElement.cs
- AQNBuilder.cs
- SrgsElementFactory.cs
- TreeNodeEventArgs.cs
- ActiveXHost.cs
- TemplateColumn.cs
- SqlProcedureAttribute.cs
- LinkedResource.cs
- GlyphsSerializer.cs
- ComplexTypeEmitter.cs
- FileCodeGroup.cs
- ListViewContainer.cs
- FtpWebResponse.cs
- PackageRelationshipSelector.cs
- ExpressionBinding.cs
- XPathException.cs
- DataDocumentXPathNavigator.cs
- LogicalTreeHelper.cs
- DbCommandTree.cs
- oledbmetadatacolumnnames.cs
- SymLanguageType.cs
- Symbol.cs
- TTSEvent.cs
- XsltLibrary.cs
- TakeQueryOptionExpression.cs
- ConfigXmlCDataSection.cs
- PermissionToken.cs
- MouseDevice.cs