Кажется, что есть путаница между переменными и объектами.При этом все, что происходит, это то, что переменная p
ссылается на тот же объект, что и параметр o
, а не на объект возврата из dataContext.Orderables.First()
.Когда вы отправляете изменения, на самом деле ничего не отправляется, потому что ни один из объектов базы данных не был изменен.Была изменена только ссылка:
void AlterItem(Orderable o)
{
var p = dataContext.Orderables.First();
p = o;
dataContext.SubmitChanges();
}
Чтобы изменить объект, возвращаемый с dataContext.Orderables.First()
, необходимо изменить его свойства.Вы также можете изменить объект с помощью переменной foreach
следующим образом:
var p = dataContext.Orderables.First();
p.Property1 = o.Property1;
// etc...
dataContext.SubmitChanges();