Я использую LINQ to SQL, и после отправки некоторых изменений я хочу создать поток, который просматривает все изменения и обновляет наш индекс lucene по мере необходимости. Мой код выглядит примерно так:
(new Thread(() => { UpdateIndex(context.GetChangeSet()); }).Start();
Иногда, хотя я получаю InvalidOperationException, что, я думаю, связано с тем, что context.GetChangeSet () не является поточно-ориентированным, и поэтому, если набор изменений изменяется в одном потоке, когда другой поток перечисляет его, возникают проблемы.
Существует ли "поточно-безопасная" версия GetChangeSet ()? Или каким-то образом я могу сделать ChangeSet.clone () или что-то?