У меня есть Store
, который содержит список Products
:
var store = new Store();
store.Products.Add(new Product{ Id = 1, Name = "Apples" };
store.Products.Add(new Product{ Id = 2, Name = "Oranges" };
Database.Save(store);
Теперь я хочу отредактировать одну из Products
, но с переходной сущностью.Это будут, например, данные из веб-браузера:
// this is what I get from the web browser, this product should
// edit the one that's already in the database that has the same Id
var product = new Product{ Id = 2, Name = "Mandarin Oranges" };
store.Products.Add(product);
Database.Save(store);
Однако попытка сделать это таким образом выдает ошибку:
другой объект с тем жезначение идентификатора уже было связано с сеансом
Причина в том, что коллекция store.Products
уже содержит объект с тем же идентификатором.Как мне обойти эту проблему?