J'ai une simple requête de critères NHibernate qui est à la recherche des dossiers avec un datetime moins aujourd'hui:critères NHibernate d'émission de format datetime
example:
criteria.Add(Expression.Le("TheDate", DateTime.Today));
Cependant, les résultats que je reçois sont incorrects lorsque le jour/mois est ambigu (Par exemple, le 12 novembre 2009 renvoie les enregistrements du 11 décembre 2009)
J'ai regardé le SQL généré et le format datetime montrera 12/11/2009, et si j'exécute la requête SQL directement dans SQL Manager, il sera seulement renvoie les résultats corrects avec le format de date 11/12/2009.
Existe-t-il un moyen de définir le format de date SQL à partir de l'expression de critère ou dois-je faire quelque chose à la table de base de données?
Un grand merci
Pouvez-vous envoyer le SQL il produit à l'aide de profils SQL (si elle est SQL Server) –
Le code NHibernate produit (la colonne datetime est appelée TimeStamp): NHibernate: SELECT top 1 this_.PriceFeedID comme PriceFee1_2_1_, this_.Name comme Name2_1_ , le code // enlevé montrant toutes les colonnes // p1_.TimeStamp comme TimeStamp0_0_, p1_.PriceFeedID comme PriceFee7_0_0_ dE PriceFeed this_ jointure interne p1_ PriceFeedData sur this_.PriceFeedID = p1_.PriceFeedID OÙ this_.Code = @ p0 et p1_.TimeStamp <= @ p1 ORDER BY p1_.TimeStamp desc; @ p0 = 'CODEID', @ p1 = 12/11/2009 00:00:00 – Toby