Tout outil de génération de code open source ou O/RM doit avoir un dictionnaire ou une fonction pour mapper de SqlDbType vers .NET de type et de retour. Par exemple, à partir Data Tier Generator:
internal static string GetCsType(Column column)
{
switch (column.Type.ToLower())
{
case "binary":
return "byte[]";
case "bigint":
return "long";
case "bit":
return "bool";
case "char":
return "string";
case "datetime":
return "DateTime";
case "decimal":
return "decimal";
case "float":
return "float";
case "image":
return "byte[]";
case "int":
return "int";
case "money":
return "decimal";
case "nchar":
return "string";
case "ntext":
return "string";
case "nvarchar":
return "string";
case "numeric":
return "decimal";
case "real":
return "decimal";
case "smalldatetime":
return "DateTime";
case "smallint":
return "short";
case "smallmoney":
return "float";
case "sql_variant":
return "byte[]";
case "sysname":
return "string";
case "text":
return "string";
case "timestamp":
return "DateTime";
case "tinyint":
return "byte";
case "varbinary":
return "byte[]";
case "varchar":
return "string";
case "uniqueidentifier":
return "Guid";
default: // Unknow data type
throw (new Exception("Invalid SQL Server data type specified: " + column.Type));
}
}
aussi une autre approche: http://www.codeproject.com/KB/vb/ConvToSqlDbType.aspx – Achilles