C# NHibernateUtil.Initialize和Table where子句(软删除)

C# NHibernateUtil.Initialize和Table where子句(软删除),c#,nhibernate,fluent-nhibernate,lazy-loading,eager-loading,C#,Nhibernate,Fluent Nhibernate,Lazy Loading,Eager Loading,我们正在使用NHibernate,但有时使用NHibernateUtil.Initialize调用手动加载代理。我们还采用了软删除,并且在所有表的映射上都有一个“where”条件。NHibernate生成的SQL成功地添加了where条件(即DELETED为NULL),但是我们注意到NHibernateUtil.Initialize没有遵守映射文件的约束 i、 e.NHibernateUtil.Initialize生成的SQL都不是空条件 当情况需要时,我们真的希望使用手动加载一些实体集合,因此

我们正在使用NHibernate,但有时使用NHibernateUtil.Initialize调用手动加载代理。我们还采用了软删除,并且在所有表的映射上都有一个“where”条件。NHibernate生成的SQL成功地添加了where条件(即DELETED为NULL),但是我们注意到NHibernateUtil.Initialize没有遵守映射文件的约束

i、 e.NHibernateUtil.Initialize生成的SQL都不是空条件

当情况需要时,我们真的希望使用手动加载一些实体集合,因此我们缺少了一些东西


我们正在使用FluentNhibernate进行映射。

找到了这个问题的答案。这不是NHibernateUtil的问题。按照我最初的想法初始化。这与我们在FluentNHibernate中的HasMany映射有关,它需要一个“Where”条件,就像我们对每个表所做的那样

添加“Where”条件后,任何加载代理的调用都会导致正确的数据检索