To wciąż nierozstrzygnięty problem, ale jest to łatwe rozwiązanie. Jeśli masz kod źródłowy SubSonic, wprowadź kilka zmian.
-- src\SubSonic\DataProviders\SqlDataProvider.cs.
Wokół wiersza #1010 powyżej "data i godzina sprawy" dodaj:
case "date":
return DbType.Date;
-- src\SubSonic\ActiveRecord\AbsractList.csAround wiersz #85 powyżej „else if (dbType ==DbType.DateTime)” dodaj:
else if (dbType == DbType.Date)
{
DateTime dX = Convert.ToDateTime(xVal);
DateTime dY = Convert.ToDateTime(yVal);
result = dX.CompareTo(dY);
}
-- src\SubSonic\CodeLanguage\CSharpCodeLanguage.csAround wiersz #222 powyżej "case DbType.DateTime" dodaj:
case DbType.Date:
W 99% to były główne potrzebne zmiany, bez tych zmian ostatnia wersja nie będzie poprawnie obsługiwać typu danych SQL Server 2008 "DATE".