Subsonic 2.2 Сгенерированное свойство для SQL Server 2008 Дата - PullRequest
1 голос
/ 24 апреля 2009

Я использую последнюю сборку SVN 2.2, скомпилированную с VS 2008. Когда я создаю свои VB-классы, используя Sonic.exe, любые столбцы типа Date (не Datetime ) генерируются как «System.String». Кто-нибудь еще нашел эту проблему и есть решение, или это проблема с Subsonic?

Ответы [ 2 ]

2 голосов
/ 07 октября 2010

Это все еще нерешенная проблема, но ее легко исправить. Если у вас есть исходный код 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 «DATE».

0 голосов
/ 24 апреля 2009

Оставить заявку здесь: http://code.google.com/p/subsonicproject/issues/list

...