NHibernate obsługuje DateTime, Ticks, TimeSpan and Timestamp. Upewnij się, że określasz typ jawnie na twoim elemencie odwzorowania, ponieważ różne typy czasu mają różną semantykę, więc to, co NHibernate zgaduje, może nie być poprawne.
Jeśli nadal występują problemy, zmodyfikuj swój wpis w celu uwzględnienia odpowiednich fragmentów podmiotu, pliku odwzorowań i rzeczywistego problemu, który napotkasz.
Edit:
Na przykład z następujących klas dla TimeSpan
:
public class MyClass
{
// Other properties
// ...
// ...
public virtual TimeSpan MyTimeProperty { get; set; }
}
a plik mapowania:
<!-- other properties -->
<property name="MyTimeProperty" type="TimeSpan" /> <!-- Note: NH expects the DB type to be DbType.Int64 -->
wskazać, że starasz się mapować TimeSpan ("nhibenate nie wie, aby konwertować pole czasu z db do przedziału czasowego, tylko ciąg"). Jeśli jest to poprawny typ dopasowania między .NET (typeof
TimeSpan
) a bazą danych (DbType.Int64
), NH powinien zrobić to automatycznie (tzn. Nie powinieneś określać type="TimeSpan"
). Więc jeśli to nie działa, podejrzewam, że jest problem ze sposobem konfiguracji. Pomocne może być umieszczenie deklaracji właściwości/pola z pełnym podpisem, linii <property>
dla tej właściwości z pliku odwzorowania oraz definicji kolumny z bazy danych.
Czy muszę określić typ w płynnym nhibernate? –