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
- SecurityChannel.cs
- RectAnimationClockResource.cs
- WhitespaceRuleReader.cs
- SystemResources.cs
- AuthorizationRuleCollection.cs
- CompilationLock.cs
- SqlCrossApplyToCrossJoin.cs
- BulletedListEventArgs.cs
- PrintPreviewGraphics.cs
- UTF7Encoding.cs
- TextProperties.cs
- contentDescriptor.cs
- LingerOption.cs
- XmlSerializerNamespaces.cs
- SecureStringHasher.cs
- HostingEnvironment.cs
- MethodRental.cs
- PathGradientBrush.cs
- InternalRelationshipCollection.cs
- HostedTransportConfigurationBase.cs
- PagePropertiesChangingEventArgs.cs
- ModifierKeysConverter.cs
- SamlAssertionKeyIdentifierClause.cs
- SecurityState.cs
- PrintDialogException.cs
- HtmlTableCell.cs
- CacheHelper.cs
- AssemblyCollection.cs
- DefaultEvaluationContext.cs
- SoapConverter.cs
- ControlPropertyNameConverter.cs
- ThreadExceptionEvent.cs
- SplashScreenNativeMethods.cs
- ConfigXmlWhitespace.cs
- ConfigurationValue.cs
- CodeMemberMethod.cs
- HtmlInputText.cs
- Journaling.cs
- WinEventQueueItem.cs
- BamlTreeUpdater.cs
- SerializationAttributes.cs
- MenuItemBinding.cs
- DurableRuntimeValidator.cs
- TableRow.cs
- XmlSchemaProviderAttribute.cs
- PinnedBufferMemoryStream.cs
- PerformanceCounterCategory.cs
- IEnumerable.cs
- RootBuilder.cs
- ToolStripContentPanel.cs
- SmtpReplyReaderFactory.cs
- ScaleTransform.cs
- BinaryParser.cs
- ToolStripRendererSwitcher.cs
- EdmMember.cs
- NotificationContext.cs
- MailWebEventProvider.cs
- ParenthesizePropertyNameAttribute.cs
- RangeValueProviderWrapper.cs
- DataControlFieldHeaderCell.cs
- EdgeModeValidation.cs
- TemplatePartAttribute.cs
- ComplexPropertyEntry.cs
- xml.cs
- httpapplicationstate.cs
- CompilerParameters.cs
- CultureTableRecord.cs
- CalendarDesigner.cs
- Int32Animation.cs
- BitmapEffectDrawingContextState.cs
- TableItemStyle.cs
- IFlowDocumentViewer.cs
- LongCountAggregationOperator.cs
- PriorityBinding.cs
- DeobfuscatingStream.cs
- SynchronizationValidator.cs
- DBSqlParser.cs
- DefaultEventAttribute.cs
- CatalogZone.cs
- CssTextWriter.cs
- xamlnodes.cs
- BasicExpressionVisitor.cs
- MenuAdapter.cs
- AssociationSet.cs
- OutputCacheSettings.cs
- Merger.cs
- InputScopeManager.cs
- OdbcEnvironmentHandle.cs
- PasswordTextNavigator.cs
- WorkflowControlEndpoint.cs
- SymbolResolver.cs
- ForceCopyBuildProvider.cs
- OleDbErrorCollection.cs
- PermissionRequestEvidence.cs
- TagPrefixCollection.cs
- WpfSharedXamlSchemaContext.cs
- DBConnection.cs
- Style.cs
- RepeatButton.cs
- UIElementPropertyUndoUnit.cs