C'est toujours un problème en suspens, mais c'est une solution facile. Si vous avez le code source SubSonic, faites quelques modifications.
-- src\SubSonic\DataProviders\SqlDataProvider.cs.
Autour de la ligne 1010 au-dessus de "case datetime", ajoutez :
case "date":
return DbType.Date;
-- src\SubSonic\ActiveRecord\AbsractList.csAround ligne #85 au-dessus de "else if (dbType ==DbType.DateTime)" ajouter :
else if (dbType == DbType.Date)
{
DateTime dX = Convert.ToDateTime(xVal);
DateTime dY = Convert.ToDateTime(yVal);
result = dX.CompareTo(dY);
}
-- src\SubSonic\CodeLanguage\CSharpCodeLanguage.csAround ligne #222 au-dessus de "case DbType.DateTime" ajouter :
case DbType.Date:
Je suis à 99 % que ce sont les principaux changements nécessaires, sans ces changements, la dernière version ne prendra pas correctement en charge le type de données SQL Server 2008 "DATE".