Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / DynamicData / DynamicData / DataSourceUtil.cs / 1305376 / DataSourceUtil.cs
namespace System.Web.DynamicData { using System; using System.Collections.Generic; using System.Globalization; using System.Web.Resources; using System.Web.UI; using System.Web.UI.WebControls; using System.Collections; using System.Data; static class DataSourceUtil { private static object s_lock = new object(); private static Dictionarys_typeToTypeCodeMap; internal static TypeCode TypeCodeFromType(Type type) { if (s_typeToTypeCodeMap == null) { lock (s_lock) { if (s_typeToTypeCodeMap == null) { // Dictionary typeNameToTypeCode = new Dictionary (); typeNameToTypeCode[typeof(Boolean)] = TypeCode.Boolean; typeNameToTypeCode[typeof(String)] = TypeCode.String; typeNameToTypeCode[typeof(Byte)] = TypeCode.Byte; typeNameToTypeCode[typeof(Int16)] = TypeCode.Int16; typeNameToTypeCode[typeof(Int32)] = TypeCode.Int32; typeNameToTypeCode[typeof(Int64)] = TypeCode.Int64; typeNameToTypeCode[typeof(Single)] = TypeCode.Single; typeNameToTypeCode[typeof(Double)] = TypeCode.Double; typeNameToTypeCode[typeof(Decimal)] = TypeCode.Decimal; typeNameToTypeCode[typeof(DateTime)] = TypeCode.DateTime; typeNameToTypeCode[typeof(Char)] = TypeCode.Char; // We don't support columns of type 'sqlvariant', which show up as Object // typeNameToTypeCode[typeof(Object)] = TypeCode.DBNull; // We don't support byte arrays. This include columns of type 'timestamp' typeNameToTypeCode[typeof(Byte[])] = TypeCode.DBNull; // Use Object for Guid's (though we need to do some special processing) typeNameToTypeCode[typeof(Guid)] = TypeCode.Object; s_typeToTypeCodeMap = typeNameToTypeCode; } } } // If it's an Nullable , work with T instead type = Misc.RemoveNullableFromType(type); TypeCode typeCode; if (s_typeToTypeCodeMap.TryGetValue(type, out typeCode)) return typeCode; return TypeCode.Object; } internal static void SetParameterTypeCodeAndDbType(Parameter parameter, MetaColumn column) { // If it's a Guid, use a DbType, since TypeCode doesn't support it. For everything else, use TypeCode if (column.ColumnType == typeof(Guid)) { parameter.DbType = DbType.Guid; } else { parameter.Type = column.TypeCode; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSchemaAppInfo.cs
- DocumentOrderQuery.cs
- SoapFault.cs
- _BufferOffsetSize.cs
- Html32TextWriter.cs
- MetabaseSettings.cs
- StaticFileHandler.cs
- DiagnosticTraceRecords.cs
- QilTernary.cs
- PartitionerQueryOperator.cs
- LinqMaximalSubtreeNominator.cs
- ObjectListDesigner.cs
- ipaddressinformationcollection.cs
- GridViewCancelEditEventArgs.cs
- DataRecordInternal.cs
- QueryNode.cs
- AffineTransform3D.cs
- DataListItem.cs
- ManifestBasedResourceGroveler.cs
- IPCCacheManager.cs
- IconConverter.cs
- RegistryPermission.cs
- Int32CollectionConverter.cs
- DataGridViewComboBoxCell.cs
- FlatButtonAppearance.cs
- AutomationElementIdentifiers.cs
- StrokeDescriptor.cs
- ToolStripItemBehavior.cs
- DataGridViewRowsAddedEventArgs.cs
- TransformCollection.cs
- TypeLibConverter.cs
- Processor.cs
- ManagedIStream.cs
- WindowsIPAddress.cs
- WCFBuildProvider.cs
- MaskInputRejectedEventArgs.cs
- GroupLabel.cs
- RTLAwareMessageBox.cs
- LicenseContext.cs
- CollectionBuilder.cs
- TextParagraphProperties.cs
- HybridDictionary.cs
- ActivationServices.cs
- TreeIterator.cs
- ControlDesignerState.cs
- MouseOverProperty.cs
- AlternationConverter.cs
- ValidationPropertyAttribute.cs
- DelegatingTypeDescriptionProvider.cs
- NativeRightsManagementAPIsStructures.cs
- updatecommandorderer.cs
- BitmapEffectGroup.cs
- DocumentXPathNavigator.cs
- TextFormatterHost.cs
- TreeNodeCollection.cs
- SqlParameter.cs
- PathGeometry.cs
- CultureTableRecord.cs
- InvalidComObjectException.cs
- PictureBox.cs
- ConfigurationFileMap.cs
- DesignerActionPanel.cs
- RotateTransform.cs
- PrintDocument.cs
- WebPartConnectionsDisconnectVerb.cs
- CustomAttributeSerializer.cs
- StateWorkerRequest.cs
- SchemaComplexType.cs
- SecurityBindingElement.cs
- XPathParser.cs
- XmlILTrace.cs
- StyleBamlTreeBuilder.cs
- StaticTextPointer.cs
- XmlDataSourceNodeDescriptor.cs
- HttpResponseHeader.cs
- RenderDataDrawingContext.cs
- TextEffect.cs
- TransformerInfoCollection.cs
- RC2.cs
- Matrix3DStack.cs
- DataService.cs
- XmlSignificantWhitespace.cs
- NetMsmqBindingElement.cs
- PathFigureCollection.cs
- DBAsyncResult.cs
- DataControlFieldCell.cs
- ManagementInstaller.cs
- EdmItemError.cs
- SynchronizationLockException.cs
- XmlSchemaAny.cs
- ThreadStaticAttribute.cs
- DataConnectionHelper.cs
- TextElementEnumerator.cs
- CodeConstructor.cs
- BufferedOutputStream.cs
- SequentialUshortCollection.cs
- ConfigsHelper.cs
- HtmlFormWrapper.cs
- Reference.cs
- DataServiceQuery.cs