У меня есть SQL запросОбъединение Entity Framework SQLQuery с дополнительным ограничением в коде
var sql = "Select * From Foo Where Bar = {0}"
Я хочу, чтобы выполнить это с помощью Entity Framework, но я хочу, чтобы наложить дополнительные ограничения, чтобы увидеть, если столбец Id находится в определенный диапазон:
List<int> ids = ...;
var MyFoos = context.Foos.SqlQuery<Foo>(sql).Where(x => ids.Contains(x.Id));
это может привести к эффективному выбору из базы данных, или это в конечном итоге выполнение всей «Select * From Foo Где Bar = {0}» первым и только затем фильтруют для идентификаторы?
Мое ожидание будет последним, потому что запрос является жестко запрограммированным, а не чем-то, сгенерированным самим EF, и, таким образом, нет возможности для компиляции для улучшения запроса в одном чтении sql –