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
- SessionSwitchEventArgs.cs
- DriveInfo.cs
- OutKeywords.cs
- InvalidOleVariantTypeException.cs
- HttpCookiesSection.cs
- TCEAdapterGenerator.cs
- SqlDataAdapter.cs
- CodeCommentStatement.cs
- OracleInternalConnection.cs
- TypeDependencyAttribute.cs
- ObjectToIdCache.cs
- ToolboxItem.cs
- CollectionBuilder.cs
- LayoutSettings.cs
- ChannelPoolSettings.cs
- XmlSchemaInfo.cs
- TabControlAutomationPeer.cs
- PointCollectionValueSerializer.cs
- RelAssertionDirectKeyIdentifierClause.cs
- ApplicationManager.cs
- FullTrustAssembly.cs
- DiscoveryEndpointValidator.cs
- SystemPens.cs
- Permission.cs
- ProfilePropertySettingsCollection.cs
- PriorityBindingExpression.cs
- DataServiceQueryException.cs
- AspNetHostingPermission.cs
- SynchronizationLockException.cs
- SqlGatherConsumedAliases.cs
- keycontainerpermission.cs
- RootBrowserWindowAutomationPeer.cs
- RectangleF.cs
- TextFormattingConverter.cs
- PropertyIDSet.cs
- Script.cs
- ProcessThreadCollection.cs
- UnmanagedMemoryStream.cs
- IsolationInterop.cs
- ListBoxItemAutomationPeer.cs
- SafeProcessHandle.cs
- HwndMouseInputProvider.cs
- SymLanguageType.cs
- DataListItemEventArgs.cs
- ExtractCollection.cs
- SessionPageStatePersister.cs
- DataGridViewAdvancedBorderStyle.cs
- UIElement3DAutomationPeer.cs
- PropertyGeneratedEventArgs.cs
- SynchronizationContext.cs
- FormatPage.cs
- LayoutTable.cs
- PackageDigitalSignatureManager.cs
- Vector3DAnimation.cs
- MetadataResolver.cs
- StatusBarItemAutomationPeer.cs
- ReadOnlyHierarchicalDataSourceView.cs
- XmlComment.cs
- COAUTHIDENTITY.cs
- PrtTicket_Editor.cs
- SqlError.cs
- RoamingStoreFileUtility.cs
- COM2PictureConverter.cs
- XmlILIndex.cs
- DiffuseMaterial.cs
- WrapPanel.cs
- XamlClipboardData.cs
- DataSourceCollectionBase.cs
- BinaryObjectReader.cs
- ExpanderAutomationPeer.cs
- TextElementEditingBehaviorAttribute.cs
- ResourceContainer.cs
- VectorCollectionValueSerializer.cs
- ModelTreeEnumerator.cs
- PerspectiveCamera.cs
- FixedSOMContainer.cs
- DocumentXmlWriter.cs
- DataTableMappingCollection.cs
- RegexFCD.cs
- DragEventArgs.cs
- SubpageParaClient.cs
- BitConverter.cs
- InkPresenterAutomationPeer.cs
- Repeater.cs
- UnmanagedMemoryStream.cs
- StrokeDescriptor.cs
- FormsAuthenticationUser.cs
- ObjectListShowCommandsEventArgs.cs
- ReliableRequestSessionChannel.cs
- CommandPlan.cs
- NamespaceExpr.cs
- ChannelBinding.cs
- DrawingAttributeSerializer.cs
- DbInsertCommandTree.cs
- SQLStringStorage.cs
- WpfPayload.cs
- BaseInfoTable.cs
- BookmarkEventArgs.cs
- ImpersonationContext.cs
- ProfileSection.cs