I have a Date class which wraps over the DateTime? class (aids in mocking DateTime.Now, our domain ,etc).
The Date class class only has one protected property : 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>
From the 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.
Can I override this behaviour? I want my Date class to be instantiated even if date is null.
Thanks,
I think you could achieve this behavior by using a listener that implements IPostLoadEventListener. After the entity is loaded, you can check if the component is null and new it if it is.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With