1
편집 :이 예에서는LINQ있는 OrderBy/ThenBy ChildrenCollection.SortOrder
두 쿼리가 위치 정렬 순서에 의해 주문되지 않습니다. 누구든지이 작업을 수행하는 방법에 대한 제안이 있습니까?
하위 엔터티 열에 의해 그룹의 엔터티 컬렉션을 주문하는 데 도움이 필요합니다. 나는 그룹과 장소에서 일대 다 관계를 맺고 있습니다.
그룹을 그룹 이름순으로 정렬 한 다음 위치 정렬 순서로 정렬해야합니다.
하위 항목이 모음이므로 문제가 발생했습니다. 여기
내가 그 작동 사용하고 코드입니다하지만 중복 반환 : 그런 다음
var groups = db.GetNavigationGroups()
.Where(g => selectedLocation > 0 ? g.NavigationGroupLocations.Any(l => l.Location == selectedLocation) : true)
.SelectMany(g => g.NavigationGroupLocations, (g, l) => new { g, l })
.OrderBy(x => x.g.Name)
.ThenBy(x => x.l.SortOrder)
.Select(x => x.g);
내가 FirstOrDefault를 사용하여이 방법을() 시도를 :
List<NavigationGroup> groups = db.DataModel.NavigationGroups
.Where(g => selectedLocation > 0 ? g.NavigationGroupLocations.Any(l => l.Location == selectedLocation) : true)
.OrderBy(g => g.Name)
.ThenBy(g => g.NavigationGroupLocations.Where(l => l.Location == selectedLocation && l.GroupID == g.ID).OrderBy(l => l.SortOrder).FirstOrDefault())
.ToList();
문제는 내가 얻을 수없는 것이다 그룹을 SortOrder 열 위치를 기준으로 정렬해야합니다.
굉장합니다. 고맙습니다! – Jared