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
- AppendHelper.cs
- EqualityArray.cs
- RadioButtonRenderer.cs
- Label.cs
- SafeProcessHandle.cs
- NTAccount.cs
- DataContract.cs
- METAHEADER.cs
- DocumentOrderQuery.cs
- CompileXomlTask.cs
- PrinterUnitConvert.cs
- CodeSnippetCompileUnit.cs
- DataGridViewLayoutData.cs
- BrowserDefinition.cs
- XmlObjectSerializerContext.cs
- WebControlParameterProxy.cs
- SvcMapFile.cs
- BaseTemplateCodeDomTreeGenerator.cs
- DbDataAdapter.cs
- RandomNumberGenerator.cs
- DropDownList.cs
- RuntimeHandles.cs
- MonitoringDescriptionAttribute.cs
- FirewallWrapper.cs
- DataControlLinkButton.cs
- DllNotFoundException.cs
- AspNetSynchronizationContext.cs
- SchemaNotation.cs
- DataGridColumnsPage.cs
- Mouse.cs
- __Error.cs
- ButtonBaseAdapter.cs
- BindingBase.cs
- AppDomainShutdownMonitor.cs
- DnsPermission.cs
- TraceData.cs
- Comparer.cs
- TextElementEnumerator.cs
- BatchParser.cs
- URI.cs
- HostingEnvironmentSection.cs
- XPathScanner.cs
- UnaryNode.cs
- ZipIORawDataFileBlock.cs
- ConsoleKeyInfo.cs
- RuntimeEnvironment.cs
- Storyboard.cs
- SemanticAnalyzer.cs
- Int64AnimationBase.cs
- SymbolPair.cs
- TransformationRules.cs
- ButtonChrome.cs
- FontNameConverter.cs
- AssertFilter.cs
- SamlAuthorizationDecisionClaimResource.cs
- HttpApplication.cs
- ReachDocumentPageSerializer.cs
- Component.cs
- ContainerTracking.cs
- DocumentPropertiesDialog.cs
- SqlErrorCollection.cs
- ThreadPool.cs
- ConnectionPointCookie.cs
- WebDescriptionAttribute.cs
- RectAnimationClockResource.cs
- DbConvert.cs
- Pool.cs
- FontCollection.cs
- EndpointDispatcherTable.cs
- ClientOptions.cs
- __Error.cs
- WindowsTreeView.cs
- ReflectEventDescriptor.cs
- Listbox.cs
- DataGridViewCheckBoxColumn.cs
- ToolStripItem.cs
- FormsAuthenticationCredentials.cs
- ReadWriteSpinLock.cs
- DataSourceControl.cs
- ReliabilityContractAttribute.cs
- SrgsOneOf.cs
- BufferedStream.cs
- GradientStop.cs
- VersionValidator.cs
- OracleDateTime.cs
- TextPatternIdentifiers.cs
- RoleService.cs
- SimpleApplicationHost.cs
- FrameworkElement.cs
- TableLayoutStyle.cs
- GridViewSortEventArgs.cs
- CacheMemory.cs
- Token.cs
- DeploymentExceptionMapper.cs
- WebPartConnectionsEventArgs.cs
- ResourcePool.cs
- LoginCancelEventArgs.cs
- RemotingHelper.cs
- ToolStripInSituService.cs
- COM2TypeInfoProcessor.cs