문은 내가 빈 필요는 LINQ 쿼리에서 WHERE 절의 일부가 될 경우! 두 개의 텍스트 상자가있는 경우 사용하는 절. 여기 LINQ WHERE 전 C# .NET을</p> <p>을 사용하고
내가이 일 것이라고 생각var result = from a in xxxx select a;
if(!string.IsNullOrEmpty(personName))
{
return result.Where(a >= a.forename.Contains(personName) || a.surname.Contains(personName)
}
else if(!string.IsNullOrEmpty(dateFrom))
{
return result.Where(a >= a.appStartDateTime >= dateFrom.Date)
}
else if(!string.IsNullOrEmpty(personName) && !string.IsNullOrEmpty(dateFrom))
{
return result.Where(a >= a.forename.Contains(personName) || a.surname.Contains(personName) && a.appStartDateTime >= dateFrom.Date);
}
내 코드하지만 어디에요 좋아하지 않는 나는 '는이'하지 않는다 '는'예를 들어 a.forename (이름에 액세스하지 못할 현재 컨텍스트에 존재)
무엇이 잘못 되었습니까, 아니면 실제로 할 수 없습니까?
미리 도움을 청하십시오. 대신이의 클레어
마지막으로 else를 치지 않습니다. 마지막 else가 true이면 true가 true이면 true가됩니다. 그러므로 마지막에 도착할 수 없습니다. –
이제 모든 if 문으로 변환했습니다. – ClareBear
@ ClareBear 그들이 아직 return 문을 가지고 있다면 도움이되지 않습니다. 두 조건을 모두 검사하는 마지막 if 문을 절대 사용하지 않습니다. 당신은 여전히 첫 번째 것에서 만 돌아올 것입니다. personName && dateFrom에 대한 검사가 null이 아니거나 비어 있지 않도록 먼저 다시 정렬합니다. –