Привет, у меня есть таблица продуктов ... с колонками
product_id (p.K)
product_name
product_description
product_price
category_id (F.k)
У меня есть другая таблица категории
category_id (p.k)
category_name
я пытался обновить таблицу продуктов с помощью category_id.
у меня есть следующий код ....
Private void btnsave_click(object sender , eventargs e)
{
if (datagridview1.SelectedRows.Count > 0)
{
int updateproductid = Convert.ToInt32(datagridview1.SelectedRows[0].Cells[0].Value);
string productcategories =cbCategorytypes.Text;
var categorytypes = (from producttype in dbcontext.categories
where producttype.name.Equals(productcategories)
select producttype.categoryId).SingleOrDefault();
product product1 = new product() { productId = updateproductid };
dbcontext.products.Attach(product1);
product1.Name = txtProductname.Text;
product1.Description = txtProductdescription.Text;
product1.Price = Convert.ToDecimal(txtProductPrice.Text);
product1.categoryId = categorytypes;
dbcontext.SaveChanges();
}
}
получено сообщение об ошибке: Исключение недопустимой операции было обработано : объект с таким же ключом уже существует в ObjectStateManager. ObjectStateManager не может отслеживать несколько объектов с одним и тем же ключом.
Может ли кто-нибудь помочь с этим .....
Большое спасибо ....