Это основная функция инструментов ORM, называемая шаблон карты идентификации .Объект с уникальным ключом может быть материализован только один раз для каждого контекста, поэтому второй запрос по умолчанию будет использовать тот же экземпляр без изменения его значений.
Вы можете заставить запрос обновить значения либо:
ObjectContext o = ....;
User u = o.Users.First(u=>u.Id == 1);
Console.WriteLine(u.LastName); // I get 'test' for example
u.LastName = 'SomethingElse';
o.Users.MergeOption = MergeOption.OverwriteChagnes; // Here you change the behavior
u = o.Users.First(u=>u.Id == 1);
Console.WriteLine(u.LastName); // result is 'test' again
, либо перезагрузив сам объект:
ObjectContext o = ....;
User u = o.Users.First(u=>u.Id == 1);
Console.WriteLine(u.LastName); // I get 'test' for example
u.LastName = 'SomethingElse';
o.Refresh(RefreshMode.StoreWins, u); // Here you reload entity with values from the database
Console.WriteLine(u.LastName); // result is 'test' again