Мне нужно сбросить логическое поле в конкретной таблице перед запуском обновления.Таблица может содержать около 1 миллиона записей, и я предпочел бы не делать выбор перед обновлением, так как это занимает слишком много времени.
В основном, что мне нужно в коде, это произвести следующее вTSQL
update tablename
set flag = false
where flag = true
У меня есть кое-что, близкое к тому, что мне нужно здесь http://www.aneyfamily.com/terryandann/post/2008/04/Batch-Updates-and-Deletes-with-LINQ-to-SQL.aspx, но я еще не реализовал его, но мне было интересно, есть ли более стандартный способ.
следуйте ограничениям, которые у нас есть для этого проекта, мы не можем использовать SPROC или напрямую писать TSQL в параметре ExecuteStoreCommand для контекста, который, я полагаю, вы можете сделать.
Я знаю, что то, что мне нужно сделать, может небыть непосредственно поддержанным в EF4, и нам, возможно, придется искать SPROC для работы [при полном отсутствии какого-либо другого пути], но мне просто нужно сначала полностью изучить все возможности.В идеальном мире EF вызов выше для обновления флага был бы возможен, или в качестве альтернативы было бы возможно получить объект с идентификатором и логическим флагом только минус ассоциированные объекты и выполнить цикл по объекту и установить флаг и выполнить одинВызов SaveChanges, но, возможно, это не совсем так.
Любые идеи,
Заранее спасибо.Лиам