je peut-être tort sur ce point, je ne l'ai utilisé Subsonic 2.2 avec SQL2008 mais je vous conseille de regarder à la source pour Subsonic, à savoir SQLLiteDataProvider.cs
et l'examen de la fonction DbType
.
Il semble reconnaître le type Boolean
mais pas Bool
et la valeur par défaut lorsqu'il ne reconnaît pas votre type est de recourir à String
.
Hare est le code en question de cette fonction
switch(sqliteType.ToLowerInvariant())
{
case "text":
case "char":
case "nchar":
case "varchar":
case "nvarchar":
return DbType.String;
case "boolean":
case "bit":
return DbType.Boolean;
case "bigint":
case "int":
case "integer":
return DbType.Int64;
case "real":
case "numeric":
case "double":
case "single":
case "float":
return DbType.Single;
case "smallint":
return DbType.Int16;
case "date":
case "time":
case "datetime":
case "smalldatetime":
case "timestamp":
return DbType.DateTime;
case "binary":
case "blob":
case "image":
return DbType.Binary;
case "guid":
return DbType.Guid;
default:
return DbType.String;
}
Je recommande le changer, de voir si cela fonctionne et recommeding alors le changement aux chaps subsoniques.
Merci beaucoup! Ça marche ! J'ai téléchargé la source pour le SubSonic l'a corrigé et compilé. Que Dieu bénisse l'open-source. – RubyWedge