2010-02-10 6 views
4

Fluent Nhibernate에서 자식 테이블에 where 절이 첨부 된 다 대다 매핑을 설정하려고합니다.Fluent NHibernate Many-to-Many where 절

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

ImageTypeID 열이 이미지 테이블에 있지만 NHibernate에 그것이 ProductImages 테이블의 일부 가정한다 :

가 작동하는 방법을 기본적으로. 어떻게 내가 이것을 지정할 수 있는지 아는가?

감사합니다.

답변

0

내가 아는 한 멀리까지 할 수 없습니다. many-to-many 연결에 유효한 위치가 확실하지 않습니다.

이미지 유형을 쉽게 필터링 할 수 있도록 IEnumerable<Image>에 확장 방법을 만들어서 처리 할 것입니다. 그런 다음 이미지 컬렉션에서 Images.Landscape()를 호출 할 수 있습니다.

10

하실 수 있습니다. Fluent NHibernate 매핑에서 .ChildWhere을 사용하십시오.

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