using System.Collections.Concurrent;
using System.Collections.Generic;
private static readonly IDictionary<Type, string> SqlServerMap = new ConcurrentDictionary<Type, string>
[typeof(Boolean)] = "bit",
[typeof(Byte[])] = "varbinary(max)",
[typeof(Double)] = "float",
[typeof(Byte)] = "tinyint",
[typeof(Int16)] = "smallint",
[typeof(Int64)] = "bigint",
[typeof(Decimal)] = "decimal",
[typeof(Single)] = "real",
[typeof(DateTime)] = "datetime2(7)",
[typeof(TimeSpan)] = "time",
[typeof(String)] = "nvarchar(MAX)",
[typeof(Guid)] = "uniqueidentifier"
public static void Main()
foreach (var item in SqlServerMap) {
Console.WriteLine($"{item.Key} = {item.Value}");