Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / internal / DbTypeMap.cs / 1305376 / DbTypeMap.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] //--------------------------------------------------------------------- using System.Collections.Generic; using System.Text; using System.Data; using System.Data.Common; using System.Data.Common.CommandTrees; using System.Data.Metadata.Edm; using System.Text.RegularExpressions; using System.Diagnostics; namespace System.Data.Common.Internal { ////// Provides singleton model TypeUsages for each DbType that can be expressed using a supported EDM type and appropriate facet values. /// Used by EntityParameter.GetTypeUsage - if you add additional TypeUsage fields here, review the impact on that method. /// internal static class DbTypeMap { internal static readonly TypeUsage AnsiString = CreateType(PrimitiveTypeKind.String, new FacetValues { Unicode = false, FixedLength = false, MaxLength = (int?)null }); internal static readonly TypeUsage AnsiStringFixedLength = CreateType(PrimitiveTypeKind.String, new FacetValues { Unicode = false, FixedLength = true, MaxLength = (int?)null }); internal static readonly TypeUsage String = CreateType(PrimitiveTypeKind.String, new FacetValues { Unicode = true, FixedLength = false, MaxLength = (int?)null }); internal static readonly TypeUsage StringFixedLength = CreateType(PrimitiveTypeKind.String, new FacetValues { Unicode = true, FixedLength = true, MaxLength = (int?)null }); // SQLBUDT #514204 - EntityCommand: XML parameter size must be ignored /* XML parameters must not have a explicit size */ internal static readonly TypeUsage Xml = CreateType(PrimitiveTypeKind.String, new FacetValues { Unicode = true, FixedLength = false, MaxLength = (int?)null }); internal static readonly TypeUsage Binary = CreateType(PrimitiveTypeKind.Binary , new FacetValues { MaxLength = (int?)null }); internal static readonly TypeUsage Boolean = CreateType(PrimitiveTypeKind.Boolean); internal static readonly TypeUsage Byte = CreateType(PrimitiveTypeKind.Byte); internal static readonly TypeUsage DateTime = CreateType(PrimitiveTypeKind.DateTime); internal static readonly TypeUsage Date = CreateType(PrimitiveTypeKind.DateTime); internal static readonly TypeUsage DateTime2 = CreateType(PrimitiveTypeKind.DateTime, new FacetValues { Precision = (byte?)null }); internal static readonly TypeUsage Time = CreateType(PrimitiveTypeKind.Time, new FacetValues { Precision = (byte?)null }); internal static readonly TypeUsage DateTimeOffset = CreateType(PrimitiveTypeKind.DateTimeOffset, new FacetValues { Precision = (byte?)null }); // For decimal and money, in the case of precision == 0, we don't want any facets when picking the type so the // default type should be picked internal static readonly TypeUsage Decimal = CreateType(PrimitiveTypeKind.Decimal, new FacetValues { Precision = (byte?)null, Scale = (byte?)null }); // SQLBU 480928: Need to make currency a separate case once we enable money type internal static readonly TypeUsage Currency = CreateType(PrimitiveTypeKind.Decimal, new FacetValues { Precision = (byte?)null, Scale = (byte?)null }); internal static readonly TypeUsage Double = CreateType(PrimitiveTypeKind.Double); internal static readonly TypeUsage Guid = CreateType(PrimitiveTypeKind.Guid); internal static readonly TypeUsage Int16 = CreateType(PrimitiveTypeKind.Int16); internal static readonly TypeUsage Int32 = CreateType(PrimitiveTypeKind.Int32); internal static readonly TypeUsage Int64 = CreateType(PrimitiveTypeKind.Int64); internal static readonly TypeUsage Single = CreateType(PrimitiveTypeKind.Single); internal static readonly TypeUsage SByte = CreateType(PrimitiveTypeKind.SByte); internal static bool TryGetModelTypeUsage(DbType dbType, out TypeUsage modelType) { switch(dbType) { case DbType.AnsiString: modelType = DbTypeMap.AnsiString; break; case DbType.AnsiStringFixedLength: modelType = DbTypeMap.AnsiStringFixedLength; break; case DbType.String: modelType = DbTypeMap.String; break; case DbType.StringFixedLength: modelType = DbTypeMap.StringFixedLength; break; case DbType.Xml: modelType = DbTypeMap.Xml; break; case DbType.Binary: modelType = DbTypeMap.Binary; break; case DbType.Boolean: modelType = DbTypeMap.Boolean; break; case DbType.Byte: modelType = DbTypeMap.Byte; break; case DbType.DateTime: modelType = DbTypeMap.DateTime; break; case DbType.Date: modelType = DbTypeMap.Date; break; case DbType.DateTime2: modelType = DbTypeMap.DateTime2; break; case DbType.Time: modelType = DbTypeMap.Time; break; case DbType.DateTimeOffset: modelType = DbTypeMap.DateTimeOffset; break; case DbType.Decimal: modelType = DbTypeMap.Decimal; break; case DbType.Currency: modelType = DbTypeMap.Currency; break; case DbType.Double: modelType = DbTypeMap.Double; break; case DbType.Guid: modelType = DbTypeMap.Guid; break; case DbType.Int16: modelType = DbTypeMap.Int16; break; case DbType.Int32: modelType = DbTypeMap.Int32; break; case DbType.Int64: modelType = DbTypeMap.Int64; break; case DbType.Single: modelType = DbTypeMap.Single; break; case DbType.SByte: modelType = DbTypeMap.SByte; break; case DbType.VarNumeric: modelType = null; break; default: modelType = null; break; } return (modelType != null); } private static TypeUsage CreateType(PrimitiveTypeKind type) { return CreateType(type, new FacetValues()); } private static TypeUsage CreateType(PrimitiveTypeKind type, FacetValues facets) { PrimitiveType primitiveType = EdmProviderManifest.Instance.GetPrimitiveType(type); TypeUsage typeUsage = TypeUsage.Create(primitiveType, facets); return typeUsage; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] //--------------------------------------------------------------------- using System.Collections.Generic; using System.Text; using System.Data; using System.Data.Common; using System.Data.Common.CommandTrees; using System.Data.Metadata.Edm; using System.Text.RegularExpressions; using System.Diagnostics; namespace System.Data.Common.Internal { ////// Provides singleton model TypeUsages for each DbType that can be expressed using a supported EDM type and appropriate facet values. /// Used by EntityParameter.GetTypeUsage - if you add additional TypeUsage fields here, review the impact on that method. /// internal static class DbTypeMap { internal static readonly TypeUsage AnsiString = CreateType(PrimitiveTypeKind.String, new FacetValues { Unicode = false, FixedLength = false, MaxLength = (int?)null }); internal static readonly TypeUsage AnsiStringFixedLength = CreateType(PrimitiveTypeKind.String, new FacetValues { Unicode = false, FixedLength = true, MaxLength = (int?)null }); internal static readonly TypeUsage String = CreateType(PrimitiveTypeKind.String, new FacetValues { Unicode = true, FixedLength = false, MaxLength = (int?)null }); internal static readonly TypeUsage StringFixedLength = CreateType(PrimitiveTypeKind.String, new FacetValues { Unicode = true, FixedLength = true, MaxLength = (int?)null }); // SQLBUDT #514204 - EntityCommand: XML parameter size must be ignored /* XML parameters must not have a explicit size */ internal static readonly TypeUsage Xml = CreateType(PrimitiveTypeKind.String, new FacetValues { Unicode = true, FixedLength = false, MaxLength = (int?)null }); internal static readonly TypeUsage Binary = CreateType(PrimitiveTypeKind.Binary , new FacetValues { MaxLength = (int?)null }); internal static readonly TypeUsage Boolean = CreateType(PrimitiveTypeKind.Boolean); internal static readonly TypeUsage Byte = CreateType(PrimitiveTypeKind.Byte); internal static readonly TypeUsage DateTime = CreateType(PrimitiveTypeKind.DateTime); internal static readonly TypeUsage Date = CreateType(PrimitiveTypeKind.DateTime); internal static readonly TypeUsage DateTime2 = CreateType(PrimitiveTypeKind.DateTime, new FacetValues { Precision = (byte?)null }); internal static readonly TypeUsage Time = CreateType(PrimitiveTypeKind.Time, new FacetValues { Precision = (byte?)null }); internal static readonly TypeUsage DateTimeOffset = CreateType(PrimitiveTypeKind.DateTimeOffset, new FacetValues { Precision = (byte?)null }); // For decimal and money, in the case of precision == 0, we don't want any facets when picking the type so the // default type should be picked internal static readonly TypeUsage Decimal = CreateType(PrimitiveTypeKind.Decimal, new FacetValues { Precision = (byte?)null, Scale = (byte?)null }); // SQLBU 480928: Need to make currency a separate case once we enable money type internal static readonly TypeUsage Currency = CreateType(PrimitiveTypeKind.Decimal, new FacetValues { Precision = (byte?)null, Scale = (byte?)null }); internal static readonly TypeUsage Double = CreateType(PrimitiveTypeKind.Double); internal static readonly TypeUsage Guid = CreateType(PrimitiveTypeKind.Guid); internal static readonly TypeUsage Int16 = CreateType(PrimitiveTypeKind.Int16); internal static readonly TypeUsage Int32 = CreateType(PrimitiveTypeKind.Int32); internal static readonly TypeUsage Int64 = CreateType(PrimitiveTypeKind.Int64); internal static readonly TypeUsage Single = CreateType(PrimitiveTypeKind.Single); internal static readonly TypeUsage SByte = CreateType(PrimitiveTypeKind.SByte); internal static bool TryGetModelTypeUsage(DbType dbType, out TypeUsage modelType) { switch(dbType) { case DbType.AnsiString: modelType = DbTypeMap.AnsiString; break; case DbType.AnsiStringFixedLength: modelType = DbTypeMap.AnsiStringFixedLength; break; case DbType.String: modelType = DbTypeMap.String; break; case DbType.StringFixedLength: modelType = DbTypeMap.StringFixedLength; break; case DbType.Xml: modelType = DbTypeMap.Xml; break; case DbType.Binary: modelType = DbTypeMap.Binary; break; case DbType.Boolean: modelType = DbTypeMap.Boolean; break; case DbType.Byte: modelType = DbTypeMap.Byte; break; case DbType.DateTime: modelType = DbTypeMap.DateTime; break; case DbType.Date: modelType = DbTypeMap.Date; break; case DbType.DateTime2: modelType = DbTypeMap.DateTime2; break; case DbType.Time: modelType = DbTypeMap.Time; break; case DbType.DateTimeOffset: modelType = DbTypeMap.DateTimeOffset; break; case DbType.Decimal: modelType = DbTypeMap.Decimal; break; case DbType.Currency: modelType = DbTypeMap.Currency; break; case DbType.Double: modelType = DbTypeMap.Double; break; case DbType.Guid: modelType = DbTypeMap.Guid; break; case DbType.Int16: modelType = DbTypeMap.Int16; break; case DbType.Int32: modelType = DbTypeMap.Int32; break; case DbType.Int64: modelType = DbTypeMap.Int64; break; case DbType.Single: modelType = DbTypeMap.Single; break; case DbType.SByte: modelType = DbTypeMap.SByte; break; case DbType.VarNumeric: modelType = null; break; default: modelType = null; break; } return (modelType != null); } private static TypeUsage CreateType(PrimitiveTypeKind type) { return CreateType(type, new FacetValues()); } private static TypeUsage CreateType(PrimitiveTypeKind type, FacetValues facets) { PrimitiveType primitiveType = EdmProviderManifest.Instance.GetPrimitiveType(type); TypeUsage typeUsage = TypeUsage.Create(primitiveType, facets); return typeUsage; } } } // 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
- HwndMouseInputProvider.cs
- ArithmeticException.cs
- WindowsAuthenticationEventArgs.cs
- CreateUserErrorEventArgs.cs
- WindowsGraphics.cs
- VisualTarget.cs
- Button.cs
- HandleRef.cs
- AppModelKnownContentFactory.cs
- Dispatcher.cs
- DiagnosticsElement.cs
- NameValueFileSectionHandler.cs
- ObjectKeyFrameCollection.cs
- OdbcInfoMessageEvent.cs
- DataGridPagerStyle.cs
- Point4D.cs
- NullableFloatMinMaxAggregationOperator.cs
- HtmlEncodedRawTextWriter.cs
- InkCanvas.cs
- ExcludePathInfo.cs
- ClientSettingsStore.cs
- VerticalAlignConverter.cs
- XPathNodePointer.cs
- ObfuscationAttribute.cs
- MulticastIPAddressInformationCollection.cs
- DataRowCollection.cs
- GPPOINTF.cs
- TriggerAction.cs
- StylusPointDescription.cs
- typedescriptorpermission.cs
- ConstructorNeedsTagAttribute.cs
- DrawingContextDrawingContextWalker.cs
- MetadataFile.cs
- EventSourceCreationData.cs
- ComAwareEventInfo.cs
- exports.cs
- SqlParameter.cs
- XmlAttributes.cs
- ByteAnimationUsingKeyFrames.cs
- StackSpiller.cs
- EncoderReplacementFallback.cs
- ACL.cs
- SolidColorBrush.cs
- UserNameSecurityTokenProvider.cs
- MissingManifestResourceException.cs
- TdsParser.cs
- BindingValueChangedEventArgs.cs
- CodeCommentStatementCollection.cs
- HostProtectionPermission.cs
- _SslStream.cs
- Binding.cs
- Comparer.cs
- FixedFindEngine.cs
- PropertyEmitterBase.cs
- Utils.cs
- ProtocolElementCollection.cs
- TextDpi.cs
- XmlSerializableReader.cs
- CodeNamespace.cs
- ListItemCollection.cs
- TrackPointCollection.cs
- RepeatInfo.cs
- EnumType.cs
- TextSelection.cs
- BaseParser.cs
- PolicyException.cs
- ListViewItem.cs
- TableColumn.cs
- SamlAuthenticationClaimResource.cs
- SqlDuplicator.cs
- CodeArrayIndexerExpression.cs
- QuaternionAnimationBase.cs
- PrintController.cs
- HttpListenerElement.cs
- AuthenticationModuleElementCollection.cs
- TypeToken.cs
- OracleInfoMessageEventArgs.cs
- OdbcParameterCollection.cs
- VirtualPathUtility.cs
- DbProviderSpecificTypePropertyAttribute.cs
- Imaging.cs
- DataGridRowHeader.cs
- RuntimeConfig.cs
- ZoomPercentageConverter.cs
- PLINQETWProvider.cs
- COM2PropertyDescriptor.cs
- PropertyManager.cs
- WindowShowOrOpenTracker.cs
- XamlToRtfParser.cs
- ActivityPreviewDesigner.cs
- TreeViewImageIndexConverter.cs
- ListMarkerSourceInfo.cs
- Int32CollectionValueSerializer.cs
- CopyAttributesAction.cs
- MemoryStream.cs
- HandledEventArgs.cs
- VirtualDirectoryMappingCollection.cs
- MailWriter.cs
- Win32MouseDevice.cs
- HtmlTableCell.cs