HasMany为Persistent Subclass,同时设置base返回null

时间:2011-12-21 01:19:45

标签: c# nhibernate postgresql fluent

我有一个名为Results的课程。和一个名为PersistentResults的持久对应物

class Results {
    public virtual IList<IHost> Hosts { get; set; }
}

class PeristentResults : Results {

    public virtual Guid ID { get; set; }

    public virtual IList<PersistentHost> Hosts
    {
        get { return base.Hosts as IList<PersistentHost>; }
        set { base.Hosts = value as IList<IHost>; }
    }
}

我的PersistentResult的hibernate映射是这样的:

class ResultsMap : ClassMap<PersistentResults>
{
    Table("result");
    Id(i => i.ID).Column("id").GeneratedBy.Assigned();

    HasMany<PersistentHost>(r => r.Hosts).KeyColumn("resultid").Table("host").Cascade.SaveUpdate();
}

该类将主机持久保存到数据库中,但是将它们带回来会产生空值。

思想?

我的解决方案是修复几天前我在主机映射中犯下的愚蠢错误。

哦bugger

1 个答案:

答案 0 :(得分:1)

我曾经有类似的问题,我记得我使用List<T>而不是IList<T>解决了这个问题。情况并非完全相同,但您可以尝试。