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
- TreeNodeBinding.cs
- RegexMatch.cs
- DataGridColumnEventArgs.cs
- TextTreeObjectNode.cs
- RecognizerInfo.cs
- CursorConverter.cs
- ApplicationActivator.cs
- IsolatedStorageException.cs
- ControlIdConverter.cs
- TrayIconDesigner.cs
- XmlDocumentSerializer.cs
- AttachedAnnotation.cs
- X500Name.cs
- altserialization.cs
- TextEditorSelection.cs
- TouchFrameEventArgs.cs
- SamlNameIdentifierClaimResource.cs
- SapiAttributeParser.cs
- Marshal.cs
- ProvidersHelper.cs
- DataSourceControlBuilder.cs
- BuildResultCache.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- ScriptReference.cs
- DataGridViewRowCancelEventArgs.cs
- WorkflowMarkupSerializationManager.cs
- PagedDataSource.cs
- SqlDataSourceCache.cs
- ZoomPercentageConverter.cs
- XmlQueryRuntime.cs
- Select.cs
- Substitution.cs
- ListViewTableCell.cs
- DataGridViewColumnEventArgs.cs
- WorkflowPersistenceService.cs
- ProcessRequestAsyncResult.cs
- XmlSchemaSubstitutionGroup.cs
- GridViewRowPresenter.cs
- ServiceHost.cs
- QueryExpression.cs
- ReferencedType.cs
- StorageBasedPackageProperties.cs
- WmlSelectionListAdapter.cs
- NotifyParentPropertyAttribute.cs
- RemotingSurrogateSelector.cs
- SecurityUtils.cs
- CharacterBuffer.cs
- InheritanceRules.cs
- MarginCollapsingState.cs
- FactoryGenerator.cs
- InfoCardSchemas.cs
- EntitySqlException.cs
- TargetControlTypeCache.cs
- HealthMonitoringSectionHelper.cs
- ISAPIRuntime.cs
- UdpConstants.cs
- PropertyEntry.cs
- Delay.cs
- WindowsFormsLinkLabel.cs
- SqlNotificationRequest.cs
- CodeTypeDeclaration.cs
- SerializationInfoEnumerator.cs
- Triplet.cs
- panel.cs
- Triplet.cs
- PersistenceException.cs
- ImportedPolicyConversionContext.cs
- ItemsControl.cs
- BaseTemplatedMobileComponentEditor.cs
- FormViewPagerRow.cs
- Figure.cs
- TreeBuilderBamlTranslator.cs
- PropertyTab.cs
- BindingGroup.cs
- ResourceAttributes.cs
- PublisherIdentityPermission.cs
- EntitySqlQueryCacheKey.cs
- HybridCollection.cs
- messageonlyhwndwrapper.cs
- SurrogateSelector.cs
- DataGridViewCellPaintingEventArgs.cs
- PathFigureCollectionValueSerializer.cs
- XmlSchemaSimpleTypeRestriction.cs
- ViewStateException.cs
- XmlEncodedRawTextWriter.cs
- HitTestParameters.cs
- LazyTextWriterCreator.cs
- DrawingImage.cs
- ReflectionTypeLoadException.cs
- PersonalizationStateInfo.cs
- ReaderWriterLockWrapper.cs
- FusionWrap.cs
- ComponentDispatcherThread.cs
- StackBuilderSink.cs
- SimpleTypeResolver.cs
- OutputCacheProfile.cs
- VirtualDirectoryMappingCollection.cs
- AccessViolationException.cs
- TypeReference.cs
- UiaCoreApi.cs