Как мне заставить LinqToSql передавать «подсказки по индексу» на сервер sql? - PullRequest
4 голосов
/ 05 мая 2010

Поскольку мы не можем доверять нашим клиентам обновлять статистику индекса и т. Д. На сервере sql, в прошлом нам приходилось использовать подсказки индекса . (Поскольку некоторые из наших клиентов все еще используют Sql Server 2000, мы также не можем зависеть от лучшего оптимизатора запросов в более поздней версии Sql Server).

Так как мне передать подсказки по индексам при использовании LinqToSql для построения запроса, а не необработанного Sql?

Ответы [ 2 ]

1 голос
/ 05 мая 2010

Это не то, что поддерживается, у вас есть только опции над запросом, чтобы установить уровень изоляции транзакции, но это не поможет с этой проблемой.

Я бы порекомендовал один из двух вариантов действий, это то, что вам действительно нужно сделать.

  1. Вы можете написать хранимую процедуру, обработать ее в своей процедуре и использовать LINQ для ее вызова ....

  2. Переход от LINQ к SQL

Лично, ЕСЛИ это действительно необходимо, я бы порекомендовал второй вариант. Если на самом деле вы должны принять этот уровень действий / контроля над вызовами базы данных, автоматически сгенерированный SQL будет проблематичным и для вас на более поздних этапах.

0 голосов
/ 05 мая 2010

К сожалению, это невозможно. Единственное, что вы можете сделать, это повлиять на уровень изоляции транзакции. Смотрите пример этого здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...