OrmLiteは、あなたが取得することができますのTypeConverterに指定されているものであることを基礎となるRDBMSスキーマの列定義を期待:あなたはSQL Serverのクエリを実行するためのカスタムSQLを使用する必要があるだろう実際の列定義を取得するには
var converter = OrmLiteConfig.DialectProvider.GetStringConverter();
var columnDef = converter.ColumnDefinition;
var sql = @"select COLUMN_NAME, data_type +
case
when data_type like '%text' or data_type like 'image' or data_type like 'sql_variant' or data_type like 'xml'
then ''
when data_type = 'float'
then '(' + convert(varchar(10), isnull(numeric_precision, 18)) + ')'
when data_type = 'numeric' or data_type = 'decimal'
then '(' + convert(varchar(10), isnull(numeric_precision, 18)) + ',' + convert(varchar(10), isnull(numeric_scale, 0)) + ')'
when (data_type like '%char' or data_type like '%binary') and character_maximum_length = -1
then '(max)'
when character_maximum_length is not null
then '(' + convert(varchar(10), character_maximum_length) + ')'
else ''
end as COLUMN_DEFINITION
FROM information_schema.columns";
using (var db = dbFactory.OpenDbConnection())
{
var results = db.Dictionary<string,string>(sql + " WHERE table_name = 'Product'");
var nameColumnDef = results["Name"]; //= varchar(8000)
//Or print out all column definitions for each field with:
results.PrintDump();
/*
{
Id: int,
Name: varchar(8000)
...
}
*/
}