我正在尝试在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和各种属性中使用 .