Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LINQ 2 SQL. Вопрос по использованию 
:(
    Опции темы
0000
Дата 8.6.2009, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 11.7.2006
Где: Нижний Новгород

Репутация: нет
Всего: 5



Здравствуйте.
У меня вопрос по особенностям использования Linq 2 Sql.
Когда генерируется SQL-код запроса, существует 2 пути. В первом, когда параметров в запросе нет - генерируется простой запрос типа (Select ... From ты-ды-ды).
Если же запрос имеет параметры - он преобразуется в вызов процедуры sp_executesql (поправьте название процедуры, если что - пишу по памяти, могу попутать точное имя) с параметром в виде запроса. что-то типа
sp_executesql N'SELECT * FROM ты-ды-ды' и потом перечисляются параметры. В принципе логика зачем это сделано понятно - при изменении параметров текст самого запроса не меняется, поэтому для получения плана запроса SQL машине достаточно только вычислить хэш и взять план запроса не пересчитывая его.

Однако вопрос - есть ли принудительный способ заставить LINQ 2 SQL не использовать это процедуру? Ответы типа зачем тебе и так все хорошо - не принимаются.

Всем спасибо smile
PM MAIL ICQ   Вверх
HalkaR
Дата 29.6.2009, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



0000, не могу попробовать, но возможно разница в использование executequery или executecommand?
PM MAIL   Вверх
0000
Дата 30.6.2009, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 11.7.2006
Где: Нижний Новгород

Репутация: нет
Всего: 5



HalkaR

у самого сейчас возможности попробовать нету, однако ExecuteQuery выполняет просто запрос, который передается стрингой, посему все параметры придется передавать вручную, что не очень удобно. ExecuteCommand же выполняет сиквел команду, которая имеет вполне приятный интерфейс для добавления параметра и определения строки запроса. Единственный вариант, если бы можно было бы из сиквел команды получить полный запрос - не просто текст, но и со всеми параметрами.

Надеюсь я понятно описал, а то щас сам прочитал - этот пост  smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема »


 




[ Время генерации скрипта: 0.0678 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.