2009-04-24 9 views
1

Im en utilisant la dernière version SVN 2.2 compilé avec VS 2008. Quand je construis mes cours de VB à l'aide Sonic.exe les colonnes de type Date de (Non Datetime) sont générés comme "System.String". Est-ce que quelqu'un d'autre a trouvé ce problème et a une solution ou est-ce un problème avec Subsonic?Subsonic 2.2 Propriété généré pour SQL Server 2008 Date

+0

Êtes-vous en train de confirmer qu'il s'agit d'un problème? Je serai heureux de soumettre un problème, mais je préfère ne pas l'ajouter à la pile d'émission inutilement. Il me semble que c'est un problème tellement «basique» que d'autres doivent le vivre, mais je ne vois pas d'autres rapports. – Zapatta

+0

Ceci est toujours un problème, un ticket de date 2008 a été fermé mais cela n'a semblé affecter le datetime2 et pas la date ou l'heure. –

Répondre

0
+0

Êtes-vous en train de confirmer que c'est un problème? Je proposerai volontiers un problème, mais je préférerais ne pas l'ajouter inutilement à la pile d'émission. Il me semble que c'est un problème tellement «basique» que d'autres doivent le vivre, mais je ne vois pas d'autres rapports. - Zapatta Il y a 46 secondes – Zapatta

2

Il est encore une question en suspens, mais il est une solution facile. Si vous avez le code source SubSonic, faites quelques modifications.

- src \ SubSonic \ DataProviders \ SqlDataProvider.cs.
Vers la ligne # 1010 ci-dessus "cas datetime" ajouter:

  case "date": 
       return DbType.Date; 

- src \ SubSonic \ ActiveRecord \ AbsractList.cs Vers la ligne n ° 85 ci-dessus "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.cs Vers la ligne # 222 ci-dessus "cas DbType.DateTime" ajouter:

  case DbType.Date: 

Je suis 99% ce sont les principaux changements nécessaires, sans ces changements, la dernière version ne supportera pas correctement le type de données SQL Server 2008 "DATE".