Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Common / EntitySql / ParserOptions.cs / 2 / 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
///
///
/// 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
///
internal sealed class ParserOptions
{
///
/// 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
///
///
/// 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
///
internal sealed class ParserOptions
{
///
/// 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
- TraceEventCache.cs
- AnnotationStore.cs
- ElementsClipboardData.cs
- MenuBase.cs
- Page.cs
- HttpWebResponse.cs
- SystemIPInterfaceProperties.cs
- ZipIOModeEnforcingStream.cs
- TypeGenericEnumerableViewSchema.cs
- storepermission.cs
- FileVersionInfo.cs
- Point.cs
- ArgumentFixer.cs
- ListViewItemSelectionChangedEvent.cs
- ProvidersHelper.cs
- FlowDocument.cs
- ProtocolsConfiguration.cs
- DbParameterHelper.cs
- StatusBarPanelClickEvent.cs
- HttpEncoderUtility.cs
- KerberosRequestorSecurityToken.cs
- LifetimeMonitor.cs
- ToolTip.cs
- ScrollChrome.cs
- Timer.cs
- PopOutPanel.cs
- OracleEncoding.cs
- ObjectDataSourceChooseMethodsPanel.cs
- SchemaConstraints.cs
- MetadataItem_Static.cs
- ConfigurationErrorsException.cs
- Attribute.cs
- Normalizer.cs
- EventWaitHandleSecurity.cs
- ContainerVisual.cs
- FileReservationCollection.cs
- VirtualPathProvider.cs
- TrackingMemoryStream.cs
- ContentControl.cs
- DefaultHttpHandler.cs
- HelpProvider.cs
- XmlEnumAttribute.cs
- WebRequestModulesSection.cs
- NTAccount.cs
- TableLayoutRowStyleCollection.cs
- SqlParameter.cs
- StringPropertyBuilder.cs
- SafeNativeMethodsOther.cs
- ResetableIterator.cs
- Signature.cs
- StaticResourceExtension.cs
- XmlCharCheckingWriter.cs
- HtmlImageAdapter.cs
- ObjectListComponentEditor.cs
- SignatureDescription.cs
- MetafileHeaderWmf.cs
- TokenBasedSetEnumerator.cs
- BaseServiceProvider.cs
- Point.cs
- Image.cs
- BoundPropertyEntry.cs
- UIAgentAsyncParams.cs
- HashSet.cs
- RenderData.cs
- RijndaelCryptoServiceProvider.cs
- TCPListener.cs
- DesignerFrame.cs
- RectangleHotSpot.cs
- SingleTagSectionHandler.cs
- TextRangeBase.cs
- ConnectionProviderAttribute.cs
- activationcontext.cs
- DataGridViewAdvancedBorderStyle.cs
- ThreadExceptionEvent.cs
- TreeNodeCollection.cs
- ParagraphResult.cs
- WebPartZoneAutoFormat.cs
- CommentEmitter.cs
- DecoderNLS.cs
- SchemaEntity.cs
- CharKeyFrameCollection.cs
- MemoryFailPoint.cs
- IteratorFilter.cs
- StreamWriter.cs
- CompilationUtil.cs
- RegionIterator.cs
- PropertyMetadata.cs
- FileAuthorizationModule.cs
- CodeArgumentReferenceExpression.cs
- ServiceProviders.cs
- GestureRecognizer.cs
- Profiler.cs
- RedirectionProxy.cs
- TileBrush.cs
- WizardStepBase.cs
- ServicePoint.cs
- DataGridViewImageCell.cs
- ArraySortHelper.cs
- BitmapEffectRenderDataResource.cs
- LayoutEditorPart.cs