J'ai une classe Date qui recouvre le DateTime? class (aide à se moquer de DateTime.Now, de notre domaine, etc).Comment puis-je dire à NHibernate de charger un composant comme non nul même si toutes ses propriétés sont nulles?
La classe de classe Date n'a qu'une seule propriété protégée: DateTime? Date
public class Date
{
protected DateTime? date;
}
// mapping in hbm
<component name="CompletedOn">
<property column="StartedOn" name="date" access="field" not-null="false" />
</component>
Des NHibernate docs:
Like all value types, components do not support shared references. The null value semantics of a component are ad hoc. When reloading the containing object, NHibernate will assume that if all component columns are null, then the entire component is null. This should be okay for most purposes.
Puis-je modifier ce comportement? Je veux que ma classe Date soit instanciée même si la date est nulle.
Merci,
Mocking datetime.now est un problème alors ... –
De toute façon, vous ne pouvez pas simuler une méthode statique. Vous devez injecter un service "heure actuelle". Vous essayez de gérer cela au mauvais niveau. –