Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 什么';分离标准和ICriteria之间的区别是什么_Nhibernate_Icriteria_Detachedcriteria - Fatal编程技术网

Nhibernate 什么';分离标准和ICriteria之间的区别是什么

Nhibernate 什么';分离标准和ICriteria之间的区别是什么,nhibernate,icriteria,detachedcriteria,Nhibernate,Icriteria,Detachedcriteria,这些类有一些类似的方法,但工作方式似乎略有不同 它们之间有什么区别?我应该在什么时候使用它们?可以建立分离的标准,而无需参考ISession。您可以稍后采用该标准并将其应用于i会话,以获得可执行的ICriteria 当您有一个会话时,使用ICriteria 当您不确定将针对哪个会话执行查询时,请使用DetachedCriteria 请注意,DetachedCriteria不实现ICriteria——它们不可互换。您必须始终调用detachedCriteria.GetExecutableCrite

这些类有一些类似的方法,但工作方式似乎略有不同


它们之间有什么区别?我应该在什么时候使用它们?

可以建立分离的标准,而无需参考
ISession
。您可以稍后采用该标准并将其应用于
i会话
,以获得可执行的
ICriteria

当您有一个会话时,使用ICriteria

当您不确定将针对哪个会话执行查询时,请使用
DetachedCriteria


请注意,
DetachedCriteria
不实现
ICriteria
——它们不可互换。您必须始终调用
detachedCriteria.GetExecutableCriteria(会话)
以获取
ICriteria
实例。

@kilonet Yes;看起来很奇怪。如果在第二个断点上设置断点,并检查本地
类别
变量的值,它是什么?是的,它是变量命名IssuedAttachedCriteria如果使用通用数据访问层,它非常酷