Хорошо, вот глупый вопрос.LINQ версия SQL View?
Как я понимаю, SQL View представляет собой виртуальную таблицу, основанную на результирующем наборе SQL-запроса.
Из моего ограниченного знания SQL View я предполагаю, что набор результатов, который я получаю из оператора LINQ, совпадает с представлением SQL.
Я ошибаюсь?
Причина, по которой я прошу, состоит в том, что у меня есть программа, которая использует цикл foreach
для чтения по набору результатов из запроса LINQ по строкам. Сотрудник сказал, что я должен использовать предварительно построенный SQL View для ускорения работы программы. Не знакомый с SQL-представлениями, я не уверен, как это мне поможет, основываясь на моих ограниченных знаниях.
В коде они функционально одинаковы. SQL-запросы могут быть быстрее, это зависит от вашего варианта использования. – DLeh
Возможно, поэтому мой коллега упомянул использование SQL View. Я проверяю определенные критерии внутри 'foreach' на каждой записи, по очереди. Возможно, он имел в виду, что я мог бы использовать представление, чтобы уменьшить набор результатов, тем самым отбросив записи, которые не соответствуют моим критериям. Но, возможно, я мог бы сделать это в исходном наборе результатов из инструкции LINQ. Я мог бы просто оценить результаты, отсеив записи, которые мне не нужны, а затем повторить оставшиеся результаты. Благодаря! – Kevin
Да, если вы примените полезное «Где» и «Выбрать новый» в исходном заявлении LINQ, вы будете по существу делать то же, что и при создании представления SQL. По большей части SQL должен иметь возможность запускать произвольный запрос (из LINQ) с очень сопоставимой производительностью с представлением SQL, но будут случаи, когда оптимизация SQL-представления будет оптимизирована. – DLeh