我正在尝试在 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(),例如,在任何图像集合上。