Does the alpha Nhibernate support using generics on components? for example, say I have class Range that will implemented as Range<DateTime>
Code:
public class Range<T> : IRange<T> where T : IComparable<T>
{
private readonly T start;
private readonly T end;
public Range(T start, T end)
{
if (start.CompareTo(end) <= 0)
{
this.start = start;
this.end = end;
}
else
{
this.start = end;
this.end = start;
}
}
public T Start
{
get { return this.start; }
}
public T End
{
get { return this.end; }
}
...
Now my mapping in the class for the component is
Code:
<component name="PayrollPeriod" class="Cei.eMerge.Common.Range`1[System.DateTime], Cei.eMerge.Common" >
<property name="Start" access="field.camelcase" column="StartDate" />
<property name="End" access="field.camelcase" column="EndDate"/>
</component>
I am getting the following error from the mapping configuration when i write my sql
Code:
Write Ddl script? (Y/N) y
Working...
Failed!
EXCEPTION:NHibernate.MappingException
-------------------------------------------------------------------------
MESSAGE:Value cannot be null.
Parameter name: con
-------------------------------------------------------------------------
STACK TRACE: at NHibernate.Cfg.Configuration.AddInputStream(Stream xmlInputStream)
at NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly, Boolean skipOrdering)
at NHibernate.Cfg.Configuration.AddAssembly(Assembly assembly)
at NHibernate.Cfg.Configuration.AddAssembly(String assemblyName)
at Cei.eMerge.Data.NHibernateSessionManager.GetConfiguration() in C:\Documents and Settings\mnichols\My Documents\Visual Studio 2005\Projects\eMerge\src\app\Cei.eMerge.Data\NHibernate\NHibernateSes
sionManager.cs:line 82
at Cei.eMerge.Data.NHibernateSessionManager.get_Configuration() in C:\Documents and Settings\mnichols\My Documents\Visual Studio 2005\Projects\eMerge\src\app\Cei.eMerge.Data\NHibernate\NHibernateSe
ssionManager.cs:line 53
at TestConsole.Program.WriteDdlScript() in C:\Documents and Settings\mnichols\My Documents\Visual Studio 2005\Projects\eMerge\src\app\Cei.eMerge.NHibernateUtil\Program.cs:line 55
at TestConsole.Program.Main(String[] args) in C:\Documents and Settings\mnichols\My Documents\Visual Studio 2005\Projects\eMerge\src\app\Cei.eMerge.NHibernateUtil\Program.cs:line 24
-------------------------------------------------------------------------
that exception doesn't give me much to go on...am I mapping a generic class correctly? I only find one example for mapping a class in the .Tests
Thanks in advance