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
- AnimatedTypeHelpers.cs
- SqlProcedureAttribute.cs
- _NegoState.cs
- TraceListener.cs
- MailMessage.cs
- Rect3D.cs
- EnumValidator.cs
- ResourcePermissionBase.cs
- InternalMappingException.cs
- ButtonChrome.cs
- EmptyControlCollection.cs
- MsmqException.cs
- CrossSiteScriptingValidation.cs
- XmlSubtreeReader.cs
- AuthStoreRoleProvider.cs
- MessageQueueConverter.cs
- AnimationException.cs
- ConfigurationSectionGroup.cs
- UnsafeCollabNativeMethods.cs
- CacheMemory.cs
- EventLogPermissionAttribute.cs
- RSAPKCS1KeyExchangeFormatter.cs
- StatusStrip.cs
- IPEndPointCollection.cs
- RoleGroupCollection.cs
- BulletedListEventArgs.cs
- ParameterElementCollection.cs
- ComponentCollection.cs
- CombinedGeometry.cs
- StylusTip.cs
- CacheChildrenQuery.cs
- NetworkInterface.cs
- GridItemCollection.cs
- ClientSideProviderDescription.cs
- IpcPort.cs
- NullReferenceException.cs
- WorkflowRuntimeEndpoint.cs
- UriExt.cs
- Win32Native.cs
- InteropTrackingRecord.cs
- SudsParser.cs
- SqlWebEventProvider.cs
- TypeContext.cs
- LocalValueEnumerator.cs
- PieceNameHelper.cs
- UntypedNullExpression.cs
- TextTreeFixupNode.cs
- RealProxy.cs
- DesignerSerializationVisibilityAttribute.cs
- NativeMethods.cs
- SignatureResourcePool.cs
- CharAnimationBase.cs
- ToolStripSplitStackLayout.cs
- NavigationWindow.cs
- StylusButton.cs
- GenericXmlSecurityToken.cs
- AppSettingsExpressionBuilder.cs
- DBCommandBuilder.cs
- StructuralCache.cs
- DataGridViewCellValueEventArgs.cs
- DataTableTypeConverter.cs
- ChangeTracker.cs
- EventLogTraceListener.cs
- TypeSource.cs
- UshortList2.cs
- MimeXmlImporter.cs
- FontStyle.cs
- IntegrationExceptionEventArgs.cs
- MatrixStack.cs
- SerialPort.cs
- Model3D.cs
- EqualityComparer.cs
- DigitShape.cs
- NetworkAddressChange.cs
- DispatcherExceptionFilterEventArgs.cs
- JsonGlobals.cs
- QilInvokeEarlyBound.cs
- CacheHelper.cs
- MenuItemCollection.cs
- SortDescriptionCollection.cs
- InitializingNewItemEventArgs.cs
- Mapping.cs
- OneOfElement.cs
- HttpWebRequestElement.cs
- ToolStripContentPanel.cs
- WindowsUpDown.cs
- DBConnectionString.cs
- wgx_commands.cs
- COMException.cs
- Path.cs
- ResourcePermissionBase.cs
- ConvertEvent.cs
- MaskedTextBox.cs
- DbConnectionOptions.cs
- InitializerFacet.cs
- XsltSettings.cs
- ClientRuntime.cs
- FormViewPageEventArgs.cs
- ConfigViewGenerator.cs
- Odbc32.cs