0
이것은 부분적으로 this과 관련 있습니다.
Nhibernate 쿼리에서 직접 연결된 (HasMany) 컬렉션 결과를 정렬하는 방법을 찾고 싶습니다.Nhibernate 쿼리에서 연결된 컬렉션 정렬하기
ICriteria criteria = Session.CreateCriteria(typeof(PortalPage));
criteria.CreateAlias("PartialViews", "vc");
criteria.AddOrder(Order.Asc("vc.ColumnNumber"));
criteria.Add(Property.ForName("Url").Eq(pageUrl));
return criteria.UniqueResult<PortalPage>();
ORDER BY를 사용하여 select를 생성하지만 링크 된 컬렉션의 결과가 정렬되지 않습니다.
결과가 반환 된 후 컬렉션을 정렬하지 않도록하고 싶습니다 (linq 개체를 사용하는 것처럼) 가능합니다?
UPDATE :
HasMany(x => x.PartialViews).KeyColumnNames.Add("PageId").AsBag().SetAttribute("order-by", "ColumnNumber");
스티브, 내가 이해한다면이가 "하드 코드 나 강제 :
이 예제의 유창한 매핑이 같은 것 : 여기
간단한 목록을 수집 매핑 예제 "정렬 순서. Linq2Nhibernate 또는 다른 방법으로 어떤 종류의 동적 결과를 얻을 수 있습니까? 유창한 nhibernate에서 같은 매핑을 어떻게 표현 하시겠습니까? – RonnieRonnie, OrderBy 메서드를 사용하여 컬렉션을 반환 한 후 정렬하지 않고 동적 결과를 얻지 못했습니다. DDD 객체 모델에서 하위 컬렉션의 본성 때문에 하위 컬렉션에 고유 한 정렬 순서 (예 : List 또는 Set가 아닌 List)가없는 한 신뢰할 수있는 방법이 없다고 판단됩니다. 모델링 관점에서 보면 데이터를 검색 할 때 순서를 지정할 수 있습니다. 목록 매핑을 위해 Fluent 구문을 확인해야 할 것입니다. 찾은 답을 업데이트 할 것입니다! –