Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/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
Nhibernate 如何忽略懒惰=";假;映射?_Nhibernate - Fatal编程技术网

Nhibernate 如何忽略懒惰=";假;映射?

Nhibernate 如何忽略懒惰=";假;映射?,nhibernate,Nhibernate,我有以下课程: public class PurchaseOrder { ... Store Store { get; protected set; } User CreatedBy { get; protected set; } User ApprovedBy { get; protected set; } ... } 使用lazy=“false”选项映射用户和存储类 。。但这没有帮助 我如何才能强制这些关联变懒并忽略lazy=“false” 我只是想说清楚。存

我有以下课程:

public class PurchaseOrder
{
   ...
   Store Store { get; protected set; }
   User CreatedBy { get; protected set; }
   User ApprovedBy { get; protected set; }
   ...
}
使用lazy=“false”选项映射用户和存储类

。。但这没有帮助

我如何才能强制这些关联变懒并忽略
lazy=“false”


我只是想说清楚。存储在User和Store类中的信息对于我的域是无用的。所以我根本不想让人把它拿走。此外,如果我在查询中加入用户和存储,将导致实体的查询链也映射为lazy=“false”(不要问为什么,我无法更改它)。我符合一些公司的标准,必须引用这些类(我不喜欢,但这是一条规则),但我不想获取它们的数据,我希望它是惰性的。

您不能覆盖
lazy=“false”


你所能做的正是你所做的:急切地获取(
FetchMode.Eager
FetchMode.Join
,它们是同义词)。

我根本不想获取相关的用户和存储。然后你必须与创建映射的白痴交谈。如前所述,它不能被推翻。或者,您可以使用投影,但您将丢失所有形式的更改跟踪、身份映射等。建议阅读(对于您和您的同事):
<class name="User" lazy="false">
session.CreateCreteria<PurchaseOrder>()
   ...
   .SetFetchMode("CreatedBy", FetchMode.Lazy)
   .SetFetchMode("ApprovedBy", FetchMode.Lazy)
   .SetFetchMode("Store", FetchMode.Lazy)
   ...