Вопрос в том, что делает компилятор / linq или sqlite-net-pcl под капотом со следующим фрагментом:
TableQuery<Foo> tr = connection.Table<Foo>()
.Where(i => i.a > 5 && i.b < 5 && statusList.Contains(i.status));
В моем понимании, он выполняет первый запрос, как любой обычный sql / dbms дляпростые значения (a> 5 и b <5), но как работает функция содержит в этом случае.Пройдет ли он каждый результат и проверит его вручную, будет ли весь материал каким-то образом преобразован в sql-statment.Если Foo.status проиндексирован, будет ли этот индекс использоваться для более быстрого поиска.</p>
Некоторые другие ORM имеют специальный синтаксис или цепочку методов для выполнения чего-то подобного (см. Laravel, который предлагает метод where)