È ancora un problema in sospeso, ma è una soluzione facile. Se hai il codice sorgente di SubSonic, apporta alcune modifiche.
-- src\SubSonic\DataProviders\SqlDataProvider.cs.
Intorno alla riga n. 1010 sopra "case datetime" aggiungi:
case "date":
return DbType.Date;
-- src\SubSonic\ActiveRecord\AbsractList.csAround riga #85 sopra "else if (dbType ==DbType.DateTime)" aggiungi:
else if (dbType == DbType.Date)
{
DateTime dX = Convert.ToDateTime(xVal);
DateTime dY = Convert.ToDateTime(yVal);
result = dX.CompareTo(dY);
}
-- src\SubSonic\CodeLanguage\CSharpCodeLanguage.csAround riga #222 sopra "case DbType.DateTime" aggiungi:
case DbType.Date:
Sono al 99% che queste erano le principali modifiche necessarie, senza queste modifiche l'ultima versione non supporterà correttamente il tipo di dati "DATE" di SQL Server 2008.