C# 如何正确地进行快速加载?

C# 如何正确地进行快速加载?,c#,nhibernate,fluent-nhibernate,C#,Nhibernate,Fluent Nhibernate,有人知道为什么无法正确加载此查询吗?(Finan急切地被加载,但Trans/Charge/Purchaser没有 return session.QueryOver<Plot>() .Where(x => x.Project == Project) .Fetch(x => x.Trans).Eager .Fetch(x => x.Charge).Ea

有人知道为什么无法正确加载此查询吗?(Finan急切地被加载,但Trans/Charge/Purchaser没有

            return session.QueryOver<Plot>()
                .Where(x => x.Project == Project)
                .Fetch(x => x.Trans).Eager
                .Fetch(x => x.Charge).Eager
                .Fetch(x => x.Finan).Eager
                .Fetch(x => x.Purchaser1.User).Eager
                .Future<Plot>();
return session.QueryOver()
.Where(x=>x.Project==Project)
.Fetch(x=>x.Trans).Eager
.Fetch(x=>x.Charge)
.Fetch(x=>x.Finan)
.Fetch(x=>x.Purchaser1.User)
.Future();
我的映射:

public class PlotMappingOverride : IAutoMappingOverride<Plot>
{
    public void Override(AutoMapping<Plot> mapping)
    {
        mapping.References(x => x.Project).Cascade.SaveUpdate().Not.LazyLoad().Not.Nullable();
        mapping.References(x => x.Finan).Cascade.SaveUpdate();
    }
}
公共类PlotMappingOverride:IAutoMappingOverride
{
公共无效替代(自动映射)
{
mapping.References(x=>x.Project).Cascade.SaveUpdate().Not.LazyLoad().Not.Nullable();
mapping.References(x=>x.Finan.Cascade.SaveUpdate();
}
}
编辑:我的绘图类如下所示:

[Serializable]
public class Plot : BaseEntity<Plot>
{
    public virtual Project Project { get; set; }
    public virtual string Plot_No { get; set; }
    public virtual PlotPurchaser Purchaser1 { get; set; }


    public virtual Finan Finan { get; set; }
    public virtual Trans Trans{ get; set; }
    public virtual Charge Charge{ get; set; }
[可序列化]
公共类绘图:BaseEntity
{
公共虚拟项目{get;set;}
公共虚拟字符串Plot_No{get;set;}
公共虚拟采购器采购器1{get;set;}
公共虚拟财务{get;set;}
公共虚拟事务{get;set;}
公共虚拟费用{get;set;}

您如何确定这些属性没有被急切加载?@DiegoMijelshon,我通过NHProf查看,交易/收费/采购实体都是通过代理单独加载的。您是否也可以发布类Plot?Hi@frictionlesspulley,我添加了Plot类。您能看看Finan和Trans/Charge/Purchaser使用
AutoMap.AssemblyOf().WriteMappingsTo(“/Some/Folder”);