NB : 이것은 LINQ to objects이며, LINQ에서 엔티티로 작동하는지 확실하지 않으며 지금 확인할 시간이 없습니다. 실제로 [A, B, C]에서 x 로 변환하는 것은 어렵지 않지만 스스로 확인해야합니다.
그래서, 대신 포함 의 대체 ???? 코드에서 LINQ-uish 인 Any 를 사용할 수 있습니다 .
// Filter the orders based on the order status
var filteredOrders = from order in orders.Order
where new[] { "A", "B", "C" }.Any(s => s == order.StatusCode)
select order;
그것은 당신이 SQL에서 알고있는 것과 반대입니다. 이것이 그렇게 분명하지 않은 이유입니다.
물론 유창한 구문을 선호한다면 다음과 같습니다.
var filteredOrders = orders.Order.Where(order => new[] {"A", "B", "C"}.Any(s => s == order.StatusCode));
여기서 우리는 다시 LINQ 놀라움 중 하나를 보게됩니다 (마침내 선택을하는 Joda-speech). 그러나이 점에서 매우 논리적 그것이 점검 항목 중 적어도 하나 (즉 있다면 임의의 리스트에서) (세트, 모음) 한 값과 일치.