Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Nhibernate linq获取子类_C#_Linq_Nhibernate_Subclass - Fatal编程技术网

C# Nhibernate linq获取子类

C# Nhibernate linq获取子类,c#,linq,nhibernate,subclass,C#,Linq,Nhibernate,Subclass,请帮我解决一个问题 我有一个项目,它使用Nhibernate和Fluent Nhibernate。在那里我创建了一个基类 (这不是真正的课程,但它们描述了我的情况): 和it的映射: public class DocumentMap: ProfileEntityMap<Document> { public DocumentMap() { Id(m => m.Id); References(m => m.Acc);

请帮我解决一个问题

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

和it的映射:

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

public class PaymentDocumentMap : SubclassMap<PaymentDocument>
{
    public PaymentDocumentMap()
    {
        References(t => t.AccountCard);
    }
}
公共类PaymentDocumentMap:子类映射
{
公共付款DocumentMap()
{
参考资料(t=>t.AccountCard);
}
}
然后,我尝试执行以下查询:

payments = session.Query<PaymentDocument>()
    .Fetch(t => t.Acc)
    .Fetch(t => t.AccountCard)
    .ToList();
payments=session.Query()
.Fetch(t=>t.Acc)
.Fetch(t=>t.AccountCard)
.ToList();
当我插入第一个fetch时,我得到下一个异常:

对象引用未设置为对象的实例


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

事实上,这是3.0.0.2版本中的一个固定问题。现在它可以与主干一起工作。

是否设置了断点并调试了代码?我用.Fetch(t=>t.Acc)注释行。查询执行时不显示它。NHibernate源中发生异常。
public class PaymentDocumentMap : SubclassMap<PaymentDocument>
{
    public PaymentDocumentMap()
    {
        References(t => t.AccountCard);
    }
}
payments = session.Query<PaymentDocument>()
    .Fetch(t => t.Acc)
    .Fetch(t => t.AccountCard)
    .ToList();