Примітка: це LINQ для об'єктів, я не впевнений на 100%, чи працює він у LINQ для сутностей, і не маю часу перевірити його зараз. Насправді перекласти це на x в [A, B, C] не так вже й складно , але ви повинні перевірити самі.
Отже, замість Contains в якості заміни ???? у своєму коді ви можете використовувати будь- який, який є більш LINQ-uish:
// 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-промова, яка ставить select у кінці). Однак у цьому сенсі цілком логічно, що він перевіряє, чи принаймні один із елементів (тобто будь-який ) у списку (набір, колекція) відповідає одному значенню.