Как сделать “в” запросе в платформе объекта?

Как насчет этого?

if(
    (screen.width <= 640) || 
    (window.matchMedia && 
     window.matchMedia('only screen and (max-width: 640px)').matches
    )
  ){
   // Do the mobile thing
}
49
задан Jon Seigel 6 April 2010 в 10:37
поделиться

2 ответа

Попробуйте следующее:

var orderKeys = new int[] { 1, 12, 306, 284, 50047};
var orders = (from order in context.Orders 
              where orderKeys.Contains(order.Key);
              select order).ToList();
Assert.AreEqual(orderKeys.Count, orders.Count);

Изменить: Я нашел некоторые обходные пути для этой проблемы - см. пункт WHERE IN? :

Entity Framework не в настоящее время поддерживает коллекционирование параметры ('statusesToFind' в вашем пример). Чтобы обойти это ограничение, вы можете вручную построить выражение с учетом последовательность значений с использованием следующих служебный метод:

42
ответ дан 7 November 2019 в 11:50
поделиться

К сожалению, EF не может переводить запросы, предложенные другими. Таким образом, хотя эти запросы будут работать в LINQ to Objects, они не будут работать в LINQ to Entities.

Таким образом, решение немного сложнее.

Однако у меня есть запись в блоге по этой теме здесь . По сути, решение состоит в том, чтобы использовать небольшое волшебство дерева выражений для построения большого выражения ИЛИ.

Надеюсь, это поможет

Alex

7
ответ дан 7 November 2019 в 11:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: