2
그래서 나는이 서버필터링 엔티티가 람다 설정
public IQueryable<Pos>GetPos(int programID)
{
var entitySet = _posRepository.All().Where(x => x.ProgramID == programID).Include("RecPositions.Person");
return entitySet.Where(x => x.RecPositions.Any(rp => rp.PosRank != 0));
}
I 비슷한/같은이에 있나요? 클라이언트의 코드 그러나 이것은 서버에서 수행되어야한다고 생각 했으므로 잠재적으로 수천 개의 레코드를 가져올 필요가 없습니다. 임 (rp => rp.PosRank! = 0)이 0을 가진 레코드를 생략 할 것이라고 기대하고 있습니다.하지만 어떤 이유로 그것이 없습니다. 누군가가 한 번을보고 뭔가를 놓친다면 알려주실 수 있습니까? 다시 나는 0 인 모든 PosRank 레코드가 결과 집합에 포함되지 않기를 바란다.
@ 존을 내가 recPosition이 그 어떤 필터링 include..then 그 모든 위치와 recPositions과 사람을 얻을 때 this..So 여전히 문제의 비트를 가지고, 당신은 할 수 있습니다 .posRank! = 0.이게 뭐하는 것 같아요. 예를 들어 센터 포지션을 가지고 있고 내 RecPosition 엔티티에 2의 카운트를 가지고 있습니다. 한 사람은 1의 등급을 갖고 하나는 0.의 등급을가집니다.이 필터는 RecPosition이 비어있는 것처럼 보이도록 둘 다 제거하는 것처럼 보입니다. . 희망이 말이 이해가 .. – gevjen
@ 존 .. 몇 가지 작업이 정확히 내가 무엇이 필요했습니다. 네가 나를 이끌어 줬다는 또 다른 방향으로 갔다. 나는 기본적으로 당신이 남긴 두 번째 예를했습니다. 원래 위치에 필터를 적용해야하지만 그 후에 엔티티가 더 이상 필요 없어서 selectmany를 수행하고 다른 코드를 수정했습니다. 수천 개의 행이있을 가능성이 있기 때문에 서버에서이 작업을 수행하는 것이 훨씬 더 좋습니다. 이렇게하면 위치 당 약 10 개의 행만 가져올 수 있습니다 ... 감사합니다! – gevjen