У меня есть индексированное представление, что мне нужно указать подсказку noexpand, чтобы он мог выполнять разумно. К сожалению, как видно из изменений в запросе Linq to SQL, созданного T-SQL из подсказки NOLOCK, кажется, что нет простого способа воспользоваться этими подсказками напрямую или есть?Как использовать подсказку NOEXPAND с Linq to SQL?
Моя мысль состоит в том, что было бы целесообразно разрешить настройку этого материала с помощью атрибутов или декларативно через dbml. Кроме того, поскольку Linq to SQL работает только с таргетингом на SQL Server, только имеет смысл, что мы также можем использовать эти расширенные функции (если они существуют). Независимо от реализации, хотя меня интересуют любые творческие способы решения этой проблемы.
Теперь, Entity Framework становится все более способным я могу взять второй взгляд на него, и рассмотреть вопрос о переходе от Linq к SQL, но сейчас, если я не могу найти достаточно веские причины и время, чтобы исследовать такое преобразование, то я m больше интересуется решением для Linq to SQL. Я буду отмечать функцию ExecuteStoreCommand EF4 как интересное преимущество, на которое нужно обратить внимание. – jpierson
Да, упс. Я читал их взаимозаменяемо в наши дни! :) Я обновил свой ответ с помощью LINQ to SQL. Никогда не забавно нарушать архитектурную форму и делать что-то вроде выполнения строки SQL, но, учитывая, что вы уже привязаны к SQL Server, возражение касается только чистоты, а не практичности. –
В моем конкретном случае я имею дело с чисто отложенными и высокодинамичными запросами, поэтому я считаю, что это исключает методы прямого выполнения, такие как ExecuteQuery. – jpierson