나는이 라인이 null이 아닐 때 더 SubCategoryName
이 없을 때까지, 괜찮LINQ 조건 경우에만 소품이
products = products.Where(p => p.Brand.Equals(s) ||
p.CatCodeNaam.Equals(s) ||
p.SubCategoryName.Equals(s)).ToList();
합니다.
var t = products.Where(p => p.Brand.Equals(s) ||
p.CatCodeNaam.Equals(s))
.Where(p => !string.IsNullOrWhiteSpace(p.SubCategoryName) && p.SubCategoryName.Equals(s));
을하지만 아무도 SubCategoryName
가없는 경우, 그냥 무시해야하고 그래서 하늘의 콜렉션을 필터링하지 않습니다
빈 문자열 isnull(SubCategoryName,'') as SubCategoryName
을 반환하는 데이터베이스를 사용하여 문제를 해결할 수 있음을 알고 있지만 필요하지 않습니다. LINQ 수정을 찾고 있습니다. 내가 좋아하는 키워드 배열이
:
"car", "ford", "focus"
을 그리고 나는 foreach
와 키워드 배열을 반복
일부 테스트 데이터는 내 문제를 설명합니다.
키워드가 브랜드, 카테고리 또는 하위 카테고리인지 여부는 알지 못하므로이 키워드가 해당 키워드인지 확인해야합니다. 그러나 데이터 집합에 products
의 하위 범주에 null 값이있는 개체가있어 첫 번째 줄이 충돌합니다.
왜 빈 컬렉션이 반환되기를 원하지 않습니까? 그 대신에 무엇을 돌려주고 싶니? 왜 이것을 빈 컬렉션보다 좋다고 생각하니? –
간단한 제안 : 조건을 역순 :'s.Equals (p.SubCategoryName)' –
@ManfredRadlwimmer 그게 다예요. 나는 그것이 단순한 무엇인가 알고 있었다! #friday 답변으로 표시하여 응답하도록 표시 할 수 있습니까? –