值为null时排序<map>的问题</map>

时间:2009-04-23 06:46:14

标签: nhibernate

我正在尝试保留SortedList&lt; DateTime,double?&gt;与NHibernate 2.0。当项目的值(非键)为空时,该项目不会持久保存到数据库。

课程片段:

public class TimeSeries{
    ...
    public TimeSeries(){
        Data = new SortedList();
    }
    public virtual IDictionary Data { get; private set; }
    ...
}

映射代码段:

...
    <map name="Data" cascade="all" lazy="true" sort="natural" collection-type="sorted-list">
        <key column="ID"/>
        <index type="Date" column="Period"/>
        <element type="double" column="Value" not-null="false"/>
    </map>
...

使用情况摘要:

var series = new TimeSeries();
series.Data.Add(new DateTime(2000, 1, 1), 1);
series.Data.Add(new DateTime(2000, 1, 2), null);
series.Data.Add(new DateTime(2000, 1, 3), 3);
repository.Add(series);

第一项和第三项是持久的,但不是第二项。如果我将double值从空值更改为非空值,则可以保存正常。

知道如何保存空值吗?我正在使用MySql,数据库模式允许空值。

谢谢, 马库斯

0 个答案:

没有答案