我正在尝试在Fluent NHibernate中进行映射,但我不能 .

我有一个通用的课程列表 .

public class ListHistory<T> : List<T> where T : IListHistoryItem, new()
public class ListHistoryItem<TValue> : IListHistoryItem
{
        public DateTime Time { get; set; }
        public TValue Value { get; set; }
}

这个列表是历史性的,表格就像(ID,Time,Value) .

在DTO:

public class ExampleDTO
{
    public virtual ExempleID { get; set; }
    public virtual ListHistory<ListHistoryItem<String>> HistoryString { get; set; }
    public virtual ListHistory<ListHistoryItem<Int32>> HistoryInt32 { get; set; }
}

制图:

Table("Example");
Id(x => x.ExempleID).GeneratedBy.Assigned();
HasMany(x => x.HistoryString).Table("ExampleHistoryString").Element("Value", a => a.Not.Nullable()).KeyColumn("ExempleID");
HasMany(x => x.HistoryInt32).Table("ExampleHistoryInt32").Element("Value", a => a.Not.Nullable()).KeyColumn("ExempleID");

只有我收到错误:

无法确定类型:ListHistoryItem`1 [[System.String,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]],XXX,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null,列:NHibernate.Mapping.Column(Value)

我怎么解决这个问题?
想要一个具有历史意义的通用类 . 因为我将在各种DTO和各种属性中使用 .