Map Fluent NHibernate ListHistory(Generic)

时间:2014-10-08 15:30:19

标签: c# generics nhibernate fluent-nhibernate

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

0 个答案:

没有答案