在填充集合时,似乎不使用FluentNHibernate Where子句

在填充集合时,似乎不使用FluentNHibernate Where子句,nhibernate,fluent-nhibernate,nhibernate-mapping,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,我在FluentNHibernate映射中使用Where子句,如下所示: public class FooMap : ClassMap<Foo> { public FooMap() { Table("MySchema.Foos"); Where("Deleted = 0"); etc etc } } 当我通过session.Load1加载单个Foo实例以及使用LINQ查询时,会将where子句附加到SQL中。但是,如果另一个类有一个Foos集合,

我在FluentNHibernate映射中使用Where子句,如下所示:

public class FooMap : ClassMap<Foo>
{
  public FooMap()
  {
    Table("MySchema.Foos");
    Where("Deleted = 0");
    etc etc
  }
}
当我通过session.Load1加载单个Foo实例以及使用LINQ查询时,会将where子句附加到SQL中。但是,如果另一个类有一个Foos集合,并且我遍历该集合,则为加载Foos而生成的SQL不包含where子句


这是FluentNHibernate中的一个bug,还是一般的NHibernate?还是我做错了什么?或者它是一个“特性”?

这是事实,我不知道它是一个bug、一个特性还是一个缺失的特性。我在一个遗留数据库中遇到了同样的问题,尽管我的数据库是一个多对一关系的查找表


我认为理由是,一旦建立了外键关系,where子句就没有意义了。对于软删除表,请研究使用过滤器或我的首选项映射到过滤已删除记录的视图,假设它们不需要出现在UI中。

事实上,我不知道这是错误、功能还是缺少功能。我在一个遗留数据库中遇到了同样的问题,尽管我的数据库是一个多对一关系的查找表


我认为理由是,一旦建立了外键关系,where子句就没有意义了。对于软删除表,请研究使用过滤器或我的首选项映射到过滤已删除记录的视图,假设它们不需要出现在UI中。

为什么没有人回答此问题?是否需要澄清?是否需要进一步的信息?为什么没有人回答这个问题?是否需要澄清?是否需要进一步的信息?谢谢您的回复。我没有查看过过滤器,也不知道您可以映射到视图-我来看看!谢谢,谢谢你的回复。我没有查看过过滤器,也不知道您可以映射到视图-我来看看!谢谢