En utilisant .Net et NHibernate, je dessine des données à partir d'une table MySql-Database. Cela contient une colonne de type de données MySQL-Timestamp avec la valeur zéro par défaut (0000-00-00 00:00:00).Comment recevoir zéro valeurs d'horodatage MySQL
Je mappe la colonne à un membre DateTime de ma classe. Lors de la création d'un critère, NHibernate se plaint du mauvais format. Je veux transformer les valeurs nulles en valeurs valides. Est-ce possible?
Mise à jour: J'ai essayé d'implémenter l'interface IUserType dans la classe que je veux mapper. Cependant, cela ne semble pas aider beaucoup pour le moment. Cela ressemble à ceci:
public virtual object NullSafeGet(System.Data.IDataReader rs, string[] names, object owner)
{
if (rs.IsDBNull(rs.GetOrdinal(names[6])) || rs.GetDateTime(6) < DateTime.MinValue) return DateTime.MinValue;
else
return rs.GetDateTime(6);
}
Je ne sais pas si c'est correct. (La valeur DateTime qui provoque des problèmes est la propriété 6 de la classe.)
Mon programme se brise à ce code:
ISession session = GetCurrentSession();
return session.CreateCriteria<ClassToMap>().List<ClassToMap>();
Non, j'utilise NHibernate, qui fait le SQL pour moi. – AGuyCalledGerald