У меня есть метод, в котором я ЧИТАЮ объекты из БД, например:
public Object getProduct(int categoryId, int productId)
{
DataClassesDataContext db = new DataClassesDataContext(Settings.getDefaultConnectionStringName());
switch (categoryId)
{
case CCategorii.CARTI_ID:
{
IEnumerable<Carti> product = (from c in db.Cartis
where c.Carti_id == productId
&& c.Vizibil == true
select c);
if (product.Count() != 0)
return product.First();
break;
}
//so on
}
}
Теперь у меня есть другой метод, в котором я выполняю обновление:
public void updateProduct()
{
Object productToBeUpdated = getProduct(1,1);
DataClassesDataContext db = new DataClassesDataContext(Settings.getDefaultConnectionStringName());
//update some properties of the product
productToBeUpdated.setQuantity(productToBeUpdated.getQuantity()+1);
db.submitChanges();
}
Что ж, продукт был успешно прочитан из предыдущего метода, но не были внесены изменения в базу данных.
Я думаю, причина в том, что я делаю это ЧТЕНИЕ-ОБНОВЛЕНИЕ в двух разных DataContext ... Если это причина, как вы угрожаете этой ситуации?
О да, я могу читать продукт и обновлять его одним и тем же методом, но это означает дублировать метод, который я использую для чтения, и добавлять к нему обновления ... и я бы хотел избежать этого .