Следующий код получает все строки из моей таблицы «Деятельности», которые еще не были опубликованы в Twitter. Затем он просматривает и публикует обновления Twitter для каждой из этих строк. В процессе, я хотел бы обновить базу данных, чтобы указать, что эти строки теперь "twittered".
Тем не менее, я получаю сообщение об ошибке (указано ниже) при попытке обновить это значение. Я предполагаю, что это потому, что я использую анонимный тип. Однако, если я использую полный тип, это потребует извлечения большого количества ненужных данных из базы данных.
Есть ли способ сделать это эффективно? Или это еще один случай, когда EF заставляет меня идти на компромиссы в производительности?
using (MyEntities context = new MyEntities())
{
var activities = from act in context.Activities
where act.ActTwittered == false
select new { act.ActID, act.ActTitle, act.Category,
act.ActDateTime, act.Location, act.ActTwittered };
foreach (var activity in activities)
{
twitter.PostUpdate("...");
activity.ActTwittered = true; // <== Error: ActTwittered is read-only
}
}