//кнопка изменить, редактирование private void Button3_Click(object sender, EventArgs e) { var id = dataGridView.SelectedRows[0].Cells[0].Value; // получам выбранный в таблице id строки if (typeof(T) == typeof(Product)) // если открывеется форма для работы с товарами(Product) { var product = set.Find(id) as Product; // Находит сущность с заданными значениями первичного ключа. Пприводим к нужному классу c if (product != null) { var form = new ProductForm(product); //cоздаем форму if (form.ShowDialog() == DialogResult.OK) // если на форме нажата кнопка ОК { //db.Products.Add(item.Product); //не добавить а обновить!! product = form.Product; db.SaveChanges(); } // item.Show(); // показываем форму } } else if (typeof(T) == typeof(Seller)) { var seller = set.Find(id) as Seller; // Находит сущность с заданными значениями первичного ключа. Пприводим к нужному классу c if (seller != null) { var form = new SellerForm(seller); //cоздаем форму if (form.ShowDialog() == DialogResult.OK) // если на форме нажата кнопка ОК { //db.Products.Add(item.Product); //не добавить а обновить!! seller = form.Seller; db.SaveChanges(); } } } else if (typeof(T) == typeof(Product)) { var product = set.Find(id) as Product; // Находит сущность с заданными значениями первичного ключа. Пприводим к нужному классу c if (product != null) { var form = new ProductForm(product); //cоздаем форму if (form.ShowDialog() == DialogResult.OK) // если на форме нажата кнопка ОК { //db.Products.Add(item.Product); //не добавить а обновить!! product = form.Product; db.SaveChanges(); } } } else if (typeof(T) == typeof(Customer)) { var product = set.Find(id) as Customer; // Находит сущность с заданными значениями первичного ключа. Пприводим к нужному классу c if (product != null) { var form = new CustomerForm(product); //cоздаем форму if (form.ShowDialog() == DialogResult.OK) // если на форме нажата кнопка ОК { //db.Products.Add(item.Product); //не добавить а обновить!! product = form.Customer; db.SaveChanges(); } } } }