일부 선택적 where 절을 사용하여 LINQ 문을 작성하려고합니다. 이것은 검색을위한 것입니다. 사용자가 검색하거나 모든 사이트에 대해 검색 할 특정 사이트를 선택할 수 있습니다값이 제공되는지 여부에 따라 Linq 작성 방법
var query =
_db.STEWARDSHIP
.OrderBy(r => r.SITE.SITE_NAME)
.Where(r => r.SITE_ID == SiteId)
.Where(r => r.VISIT_TYPE_VAL.VISIT_TYPE_ID == VisitTypeId)
.Select(r => new
{
id = r.STEWARDSHIP_ID,
name = r.SITE.SITE_NAME,
visit_type = r.VISIT_TYPE_VAL.VISIT_TYPE_DESC,
visit_date = r.VISIT_DATE
});
return query;
을하는 방법은, 예를 들어, SiteId = 14 문제를 얻을 수 없습니다 그래서 때. 그러나 SiteId = null이되면 where 절을 고려해서는 안됩니다.
감사 에릭
SITE_ID가 null 인 레코드가 없으므로 이것이 가능하지 않다고 생각합니다. 따라서 이것은 결코 결과를 반환하지 않습니다. –
@ Eric : null에 대해 SITE_ID를 확인하지 않습니다. 주어진'SiteID' 값을 null로 검사합니다. –
@AustinSalonen, null 인 경우 WHERE 절은 무시됩니까? –