| 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)};    };}
 |