Проблема в том, что вы не изменяете исходную коллекцию.Вызов AsEnumarable создает новую коллекцию, и, таким образом, вы меняете список свойств, которые не может видеть исходный контекст данных.
Попробуйте это так ...
foreach( var record in dinner.GetRecords(id).Where(d=>d.Year == Yearpassed))
{
record.Year='2000';
}
dinner.Save();
По сути, у меня естьпросто удалите часть AsEnumarble ()
Если это не сработает, я подозреваю, что нам нужно увидеть код в вашем методе GetRecords ()