我正在尝试在 Fluent Nhibernate 中设置多对多映射,该映射具有附加到子表的 where 子句。

这基本上是它应该如何工作:

HasManyToMany(p => p.Images)
  .Table("ProductImages")
  .ParentKeyColumn("ProductID")
  .ChildKeyColumn("ImageID")
  .Where("ImageTypeID = 2");

ImageTypeID 列在 Images 表中,但 NHibernate 假设它是 ProductImages 表的一部分。知道我如何指定这个吗?

谢谢!

最佳答案

据我所知,你不能。我不确定 Where 对 many-to-many 关联是否有效。

我会通过在 IEnumerable<Image> 上创建一个扩展方法来处理这个问题,以便轻松过滤图像类型。然后你可以调用 Images.Landscape(),例如,在任何图像集合上。

10-07 20:01
查看更多