Вам не нужно извлекать текущий объект, чтобы делать то, что вам нужно. Если идентификаторы одинаковы, все, что вам нужно сделать, это присоединить новый объект к вашему контексту. Затем уловка заключается в том, чтобы заставить Linq2SQL обрабатывать объект как «грязный». У Тимоти Хоури есть сообщение в блоге , в котором подробно описывается полезная техника с использованием метода обновления в контексте. Вот как это будет выглядеть.
public bool updateEvent(clubEvent newEvent)
{
tCon.clubEvents.Attach(newEvent);
tCon.Refresh(RefreshMode.KeepCurrentValues, settings)
tCon.SubmitChanges();
return true;
}