0
일부 확장 방법을 쓰는 중이며 지금까지 잘 진행 중입니다. IQueryable qry를 사용하고 qry의 지역 유형이 city 인 모든 지역을 반환해야하는 getCities 메소드가 있습니다.아음속으로 linq 쿼리를 작성하는 방법
linq을 사용하여 시도했지만 포기하고 현재 for 루프를 사용하고 있습니다. 그것은 작동하지만, 저를 괴롭 히고 있습니다. 나는 linq 문을 바닥에 나와있다, 그 작동하지 않습니다 주석 있습니다.
for 루프는 레코드를 올바르게 반환합니다. 주석 처리 한 linq 쿼리는 아무 것도 반환하지 않습니다.
영역은 Region_Type이 1 개 밖에 없지만 아음속은 컬렉션이므로 region.Type 영역을 가져 오기 위해 item.Region_Types.First()를 사용하고 있습니다.
public static IQueryable<Region> getCities(this IQueryable<Region> qry)
{
List<Region> returnCol = new List<Region>();
foreach (var item in qry)
{
if (item.Region_Types.First().Name.ToLower().Trim().Equals("city"))
{
returnCol.Add(item);
}
}
return returnCol.AsQueryable();
//return qry.Where(t => t.Region_Types.First().Name.ToLower().Trim().Equals("city"));
}
당신이 올바른지,하지만 IQuerable있는 방법은 반환 할 수 있습니다 IEnumerable. 문제는 내 for 루프가 예상되는 레코드를 반환하는 동안 linq 문에서 아무 것도 반환하지 않는다는 것입니다. 내가 불분명하면 죄송합니다. – spaceman
알았어, 이제 더 명확 해. :). 오해해서 미안해. Equals()를 == 연산자로 바꾸려고 했습니까? – mamoo
그래, 노력했다. equals, == 및 compareTo .. 나는 아음속, 아음속 버그 및 linq 문제를 생각하기 시작하는 생성하는 아음속 쿼리를 얻을 수 있는지를 볼 수 있습니다. – spaceman