| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace SqlSugar
- {
- public class SqlServerDbBind : DbBindProvider
- {
- public override string GetDbTypeName(string csharpTypeName)
- {
- if (csharpTypeName == nameof(DateTimeOffset))
- {
- return nameof(DateTimeOffset);
- }
- else
- {
- return base.GetDbTypeName(csharpTypeName);
- }
- }
- public override List<KeyValuePair<string, CSharpDataType>> MappingTypes
- {
- get
- {
- var extService = this.Context.CurrentConnectionConfig.ConfigureExternalServices;
- if (extService != null&& extService.AppendDataReaderTypeMappings.HasValue())
- {
- return extService.AppendDataReaderTypeMappings.Union(MappingTypesConst).ToList();
- }
- else
- {
- return MappingTypesConst;
- }
- }
- }
- public static List<KeyValuePair<string, CSharpDataType>> MappingTypesConst = new List<KeyValuePair<string, CSharpDataType>>()
- {
- new KeyValuePair<string, CSharpDataType>("int",CSharpDataType.@int),
- new KeyValuePair<string, CSharpDataType>("varchar",CSharpDataType.@string),
- new KeyValuePair<string, CSharpDataType>("nvarchar",CSharpDataType.@string),
- new KeyValuePair<string, CSharpDataType>("sql_variant",CSharpDataType.@string),
- new KeyValuePair<string, CSharpDataType>("varcharmax",CSharpDataType.@string),
- new KeyValuePair<string, CSharpDataType>("text",CSharpDataType.@string),
- new KeyValuePair<string, CSharpDataType>("char",CSharpDataType.@string),
- new KeyValuePair<string, CSharpDataType>("ntext",CSharpDataType.@string),
- new KeyValuePair<string, CSharpDataType>("nchar",CSharpDataType.@string),
- new KeyValuePair<string, CSharpDataType>("hierarchyid",CSharpDataType.@string),
- new KeyValuePair<string, CSharpDataType>("bigint",CSharpDataType.@long),
- new KeyValuePair<string, CSharpDataType>("bit",CSharpDataType.@bool),
- new KeyValuePair<string, CSharpDataType>("datetime",CSharpDataType.DateTime),
- new KeyValuePair<string, CSharpDataType>("time",CSharpDataType.DateTime),
- new KeyValuePair<string, CSharpDataType>("smalldatetime",CSharpDataType.DateTime),
- new KeyValuePair<string, CSharpDataType>("timestamp",CSharpDataType.byteArray),
- new KeyValuePair<string, CSharpDataType>("datetime2",CSharpDataType.DateTime),
- new KeyValuePair<string, CSharpDataType>("date",CSharpDataType.DateTime),
- new KeyValuePair<string, CSharpDataType>("decimal",CSharpDataType.@decimal),
- new KeyValuePair<string, CSharpDataType>("single",CSharpDataType.@decimal),
- new KeyValuePair<string, CSharpDataType>("money",CSharpDataType.@decimal),
- new KeyValuePair<string, CSharpDataType>("numeric",CSharpDataType.@decimal),
- new KeyValuePair<string, CSharpDataType>("smallmoney",CSharpDataType.@decimal),
- new KeyValuePair<string, CSharpDataType>("float",CSharpDataType.@double),
- new KeyValuePair<string, CSharpDataType>("float",CSharpDataType.Single),
- new KeyValuePair<string, CSharpDataType>("real",CSharpDataType.@float),
- new KeyValuePair<string, CSharpDataType>("smallint",CSharpDataType.@short),
- new KeyValuePair<string, CSharpDataType>("tinyint",CSharpDataType.@byte),
- new KeyValuePair<string, CSharpDataType>("uniqueidentifier",CSharpDataType.Guid),
- new KeyValuePair<string, CSharpDataType>("image",CSharpDataType.byteArray),
- new KeyValuePair<string, CSharpDataType>("binary",CSharpDataType.byteArray),
- new KeyValuePair<string, CSharpDataType>("varbinary",CSharpDataType.byteArray),
- new KeyValuePair<string, CSharpDataType>("datetimeoffset", CSharpDataType.DateTimeOffset),
- new KeyValuePair<string, CSharpDataType>("datetimeoffset", CSharpDataType.DateTime)};
- };
- }
|