2010-06-10 25 views
0

Pour une raison quelconque, la propriété TimeSpan de ma classe n'est pas conservée dans la base de données par Subsonic, elle est simplement ignorée !? Toutes les autres propriétés sont en cours d'enregistrement OK. J'utilise SimpleRepository et RunMigrations, Subsonic v3.0.0.3.Subsonic ignorant la propriété TimeSpan

public TimeSpan Time { get; set; } 

Les TimeSpans ne sont-ils pas pris en charge?

Répondre

3

TimeSpan n'est pas un type de données SQL valide pour 2005/2008.

magasin comme un type de données SQL à base de numérique. Convertissez votre TimeSpan à une durée appropriée en fonction de la précision dont vous avez besoin:

// Define an interval of 1 day, 15+ hours. 
TimeSpan interval = new TimeSpan(1, 15, 42, 45, 750); 
Console.WriteLine("Value of TimeSpan: {0}", interval); 
Console.WriteLine("{0:N5} minutes, as follows:", interval.TotalMinutes); 

Attention qu'il ya une nette différence entre interval.Minutes et interval.TotalMinutes!

http://msdn.microsoft.com/en-us/library/system.timespan.totalminutes.aspx

Ainsi:

// my duration 
int duration = Time.TotalMinutes; 
// now insert this into the database 
+0

Merci mais comme je me sers SimpleRepository que cela voudrait dire avoir à changer le type de données de mon objet uniquement dans le but d'insérer les données dans la base de données, puis coulée il chaque fois que je veux l'utiliser - à moins que je comprends mal? – ProNotion

+0

Salut ProNotion. Ma faute. J'ai mal interprété votre question. Un autre utilisateur a un similaire (ActiveRecord plutôt que SimpleRepository) problème de conversion TimeSpan et la réponse de John Sheehan pourrait se rapporter à votre problème: http://stackoverflow.com/questions/1448626/error-with-subsonic-attempting-to- convert-timespan-to-string Peut-être que vous devriez soulever cette question sur le groupe Google de SubSonic: http://groups.google.com/group/subsonicproject – Junto

+0

En réfléchissant votre recommandation fonctionne bien pour moi en stockant une représentation entière du nombre de millisecondes dans le TimeSpan. Merci – ProNotion