2009-04-27 12 views
0

Lorsque vous essayez d'exécuter un commentaire Insérer l'aide de l'insertion CLass je reçois l'exception suivante:Utiliser Insérer throws Exception sur le champ Datetime

La conversion d'un type de données char à un type de données datetime a donné lieu à un out-of plage date/heure

J'uing les paramètres de la mondialisation suivants:

<globalization uiCulture="en-AU" culture="en-AU"/> 

Et mon format de date est: "jj/mm/aaaa"

Je peux contourner l'exception en utilisant:

ci.Date.HasValue?ci.Date.Value.ToString("yyyy-MM-dd HH:mm:ss"):null 

Mais c'est moche comme ... est-ce qu'il y a quelque chose que je peux faire alors subsonic choisit mes paramètres de globalisation?

Merci

Luis

+0

Quelle version de SubSonic utilisez-vous? –

Répondre

0

Utilisez-vous une colonne de SQLServer 2008 "Date"? Je vois le même problème avec ce scénario et dans mon cas c'est parce que la propriété de classe Subsonic pour les types "Date" de SQL Server est définie sur "String".

Voir Subsonic 2.2 Generated Property for SQL Server 2008 Date

Si vous pouvez confirmer cela, je vous en serais reconnaissant, et je signalerai une question à la liste des questions du projet Subsonic.

0

Luis vous devriez poster du code afin que nous puissions voir exactement ce que vous essayez de faire mais je pense que je connais le problème.

Si vous transmettez un type de données que Subsonic ne reconnaît pas comme DateTime? (Par opposition à Date) alors Subsonic va appeler la méthode ToString() de l'objet et définir son DataType en chaîne qui provoquerait le question que vous mentionnez ci-dessus. Vous devriez pouvoir passer ci.Date.Value sans avoir à appeler votre propre méthode ToString ("format").