시스템 네임 스페이스의 기본 클래스 라이브러리 유형에 대한 System.Data.DbType
열거 값을 찾는 가장 좋은 방법은 무엇입니까?System.TData를 System.Data.DbType으로 변환하는 방법?
답변
공통적 인 방법은 지원되는 모든 유형 (다른 커넥터/제공자는 서로 다른 유형을 지원함)과 함께 유형 맵을 명시하는 것입니다. 여기 Dapper의 형태 맵입니다 :
typeMap = new Dictionary<Type, DbType>();
typeMap[typeof(byte)] = DbType.Byte;
typeMap[typeof(sbyte)] = DbType.SByte;
typeMap[typeof(short)] = DbType.Int16;
typeMap[typeof(ushort)] = DbType.UInt16;
typeMap[typeof(int)] = DbType.Int32;
typeMap[typeof(uint)] = DbType.UInt32;
typeMap[typeof(long)] = DbType.Int64;
typeMap[typeof(ulong)] = DbType.UInt64;
typeMap[typeof(float)] = DbType.Single;
typeMap[typeof(double)] = DbType.Double;
typeMap[typeof(decimal)] = DbType.Decimal;
typeMap[typeof(bool)] = DbType.Boolean;
typeMap[typeof(string)] = DbType.String;
typeMap[typeof(char)] = DbType.StringFixedLength;
typeMap[typeof(Guid)] = DbType.Guid;
typeMap[typeof(DateTime)] = DbType.DateTime;
typeMap[typeof(DateTimeOffset)] = DbType.DateTimeOffset;
typeMap[typeof(byte[])] = DbType.Binary;
typeMap[typeof(byte?)] = DbType.Byte;
typeMap[typeof(sbyte?)] = DbType.SByte;
typeMap[typeof(short?)] = DbType.Int16;
typeMap[typeof(ushort?)] = DbType.UInt16;
typeMap[typeof(int?)] = DbType.Int32;
typeMap[typeof(uint?)] = DbType.UInt32;
typeMap[typeof(long?)] = DbType.Int64;
typeMap[typeof(ulong?)] = DbType.UInt64;
typeMap[typeof(float?)] = DbType.Single;
typeMap[typeof(double?)] = DbType.Double;
typeMap[typeof(decimal?)] = DbType.Decimal;
typeMap[typeof(bool?)] = DbType.Boolean;
typeMap[typeof(char?)] = DbType.StringFixedLength;
typeMap[typeof(Guid?)] = DbType.Guid;
typeMap[typeof(DateTime?)] = DbType.DateTime;
typeMap[typeof(DateTimeOffset?)] = DbType.DateTimeOffset;
typeMap[typeof(System.Data.Linq.Binary)] = DbType.Binary;
는 관련 DbType과를 얻으려면, 당신이해야 할 모든은 다음과 같습니다
var type = typeMap[typeof(string)]; // returns DbType.String
설명서를 보면 - SQL Server Data Type Mappings (ADO.NET)입니다.
다른 공급자의 매핑은 documented입니다.
이 정보는 변환기 작성에 필요한 충분한 정보를 제공합니다.
난 당신이 매핑 자신을해야, 자동화 된 로직을 인식하지 오전 왜냐하면 그것들은 다른 유형이고 .NET Framework는 당신을 위해서만 이것을 할 수 없기 때문입니다.
여기에 전체 매핑 테이블을 참조하십시오 SQL Server Data Type Mappings (ADO.NET) 당신은 또한 .NET 데이터 공급자에 따라 유사한 테이블이있을 수 있습니다 오라클, MySQL은, SQLite는 다른 엔진이 상상할 수/
가당신은 DbType
에 TypeCode
을 변환 할 수 있습니다 연결 방법 ConvertTypeCodeToDbType
을 사용하여 System.Web.UI.WebControls.Parameter
클래스 : Parameter.ConvertTypeCodeToDbType Method. TypeCode를 얻으려면 Type.GetTypeCode(Type type)
메서드를 사용할 수 있습니다.
왜 이건 'System.Web'에 있습니까? – talles
- 1. 변환하는 방법
- 2. vb.net로 변환하는 방법 v2.net 코드로 ADOB로 변환하는 방법
- 3. px를 %로 변환하는 방법 (px를 글꼴 크기로 em로 변환하는 방법)
- 4. 프로젝트에서 파일을 변환하는 방법 - java에서 파일을 IFile로 변환하는 방법?
- 5. HTML로 PDF를 변환하는 방법?
- 6. struts2를 SpringMVC로 변환하는 방법
- 7. String을 'System.Web.HttpPostedFile'로 변환하는 방법?
- 8. BigInteger를 BigDecimal로 변환하는 방법?
- 9. PUNICODE_STRING을 bstr으로 변환하는 방법?
- 10. Stata에서 날짜를 변환하는 방법?
- 11. 컬러 모델을 변환하는 방법
- 12. CFArrayRef를 NSArray로 변환하는 방법?
- 13. 활동을 이미지로 변환하는 방법
- 14. NSInteger를 NSTimeInterval로 변환하는 방법
- 15. Eclipse 자동으로 변환하는 방법?
- 16. NSString으로 변환하는 방법?
- 17. int를 통화로 변환하는 방법?
- 18. Excel을 XML로 변환하는 방법?
- 19. ActionScriptObject를 ByteArray로 변환하는 방법?
- 20. 영어를 Cron으로 변환하는 방법?
- 21. bbmp를 jpg로 변환하는 방법
- 22. Linq.ParallelQuery를 Linq.IQueryable로 변환하는 방법
- 23. NameValueCollection을 Hashtable로 변환하는 방법
- 24. 날짜 형식을 변환하는 방법
- 25. wav를 flac으로 변환하는 방법?
- 26. Gtk.Image를 base64로 변환하는 방법
- 27. PictureDrawable을 ScaleDrawble로 변환하는 방법?
- 28. 헥사 문자열을 변환하는 방법?
- 29. datareader를 datatable로 변환하는 방법
- 30. 파서로 변환하는 방법
이것은 나를 위해 좋아 보인다. 'Type.GetGenericTypeDefinition'과'Type.GetGenericArguments'는 Nullable 값과 기본 타입을 해결하는 데 도움이 될 것이므로 Nullable 버전에서는 절 필요가 없다고 생각합니다. – Mike