c# – 子类中的Nhibernate linq fetch

求助我,解决一个问题.

我有项目,它使用Nhibernate和Fluent Nhibernate.在那里我创建了一个基类
(这不是真正的课程,但他们描述了我的情况):

public class Document
{
    public virtual int Id { get; private set; }
    public virtual Account Acc { get; private set; }
}

并为它映射:

public class DocumentMap: ProfileEntityMap<Document>
{
    public DocumentMap()
    {
        Id(m => m.Id);
        References(m => m.Acc);
        DiscriminateSubClassesOnColumn("Type");
    }
}

然后我实现了子类:

public class PaymentDocument: Document
{
    public virtual Card AccountCard { get; set;}
}

PaymentDocument类的映射:

public class PaymentDocumentMap : SubclassMap<PaymentDocument>
{
    public PaymentDocumentMap()
    {
        References(t => t.AccountCard);
    }
}

然后我尝试执行此查询:

payments = session.Query<PaymentDocument>()
    .Fetch(t => t.Acc)
    .Fetch(t => t.AccountCard)
    .ToList();

当我插入第一次提取时,我得到下一个异常:

Object reference not set to an instance of an object.

有人能回答我哪里有问题吗?

最佳答案 实际上它是在3.0.0.Alpha2中固定的
bug.现在它适用于后备箱.

点赞