Все още е висящ проблем, но е лесна корекция. Ако имате изходния код на Subsonic, направете няколко редакции.
-- src\SubSonic\DataProviders\SqlDataProvider.cs.
Около ред #1010 над "case datetime" добавете:
case "date":
return DbType.Date;
-- src\SubSonic\ActiveRecord\AbsractList.csОколо ред #85 по-горе "else if (dbType ==DbType.DateTime)" добавете:
else if (dbType == DbType.Date)
{
DateTime dX = Convert.ToDateTime(xVal);
DateTime dY = Convert.ToDateTime(yVal);
result = dX.CompareTo(dY);
}
-- src\SubSonic\CodeLanguage\CSharpCodeLanguage.csОколо ред #222 над "case DbType.DateTime" добавете:
case DbType.Date:
99% съм убеден, че това бяха основните необходими промени, без тези промени последната версия няма да поддържа правилно типа данни на SQL Server 2008 „ДАТА“.