在Fluent NHibernate中默认不懒惰,有异常

在Fluent NHibernate中默认不懒惰,有异常,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,默认情况下,我希望我的应用程序在没有延迟加载的情况下工作。但是在某些情况下(我想显式设置),我需要延迟加载 因此,我的默认约定是(最后一行关闭默认延迟加载): 但是,它不是惰性加载的。我试图用LazyLoad.Never()替换DefaultLazy.Never()约定,但它不起作用(我无法理解其中的区别) 如何轻松地关闭除一个混凝土外的所有情况下的延迟加载?我正在使用代码检索测试: using (ISession session = GetSessionFactory().OpenSessi

默认情况下,我希望我的应用程序在没有延迟加载的情况下工作。但是在某些情况下(我想显式设置),我需要延迟加载

因此,我的默认约定是(最后一行关闭默认延迟加载):

但是,它不是惰性加载的。我试图用LazyLoad.Never()替换DefaultLazy.Never()约定,但它不起作用(我无法理解其中的区别)


如何轻松地关闭除一个混凝土外的所有情况下的延迟加载?

我正在使用代码检索测试:

 using (ISession session = GetSessionFactory().OpenSession())
        {
            // TODO: Criteria + lazy
            var productVariants = session.CreateCriteria<ProductVariant>().List<ProductVariant>().ToArray();

            // TODO: Lazy loading should be available
            foreach (var product in productVariants)
            {
                var testCaseDataOrders = product.TestCaseOrdered.ToList();
                testCaseDataOrders.Select(x => x.TestCaseData.Id);
            }

            return productVariants;
        }
使用(ISession session=GetSessionFactory().OpenSession())
{
//待办事项:标准+懒惰
var productVariants=session.CreateCriteria().List().ToArray();
//TODO:延迟加载应该可用
foreach(productVariants中的var产品)
{
var testCaseDataOrders=product.TestCaseOrdered.ToList();
选择(x=>x.TestCaseData.Id);
}
返回产品变量;
}

这就是问题所在

它对我有效,你如何确定它是否是懒散的?在搜索测试代码时,我在哪里检查发现我总是以非懒散的方式检索它们。谢谢你的提示:)
        HasMany(x => x.TestCaseOrdered).KeyColumn("ProductVariantId").LazyLoad();
 using (ISession session = GetSessionFactory().OpenSession())
        {
            // TODO: Criteria + lazy
            var productVariants = session.CreateCriteria<ProductVariant>().List<ProductVariant>().ToArray();

            // TODO: Lazy loading should be available
            foreach (var product in productVariants)
            {
                var testCaseDataOrders = product.TestCaseOrdered.ToList();
                testCaseDataOrders.Select(x => x.TestCaseData.Id);
            }

            return productVariants;
        }