как мне сделать что бы при добавлении в таблицу число было больше предыдущего на 1?

Мне нужно сделать так что бы при добавлении в таблицу новой строчки, в столбце "ProductID", каждое значение было больше предыдущего. Что мне нужно написать в newProduct.ProductID = ?

 private void btnAdd_Click(object sender, RoutedEventArgs e)
 {
     var dataSet = (FloralDataSet)FindResource("floralDataSet");

     try
     {
         var newProduct = dataSet.Product.NewProductRow();

         newProduct.ProductID = 
         newProduct.ProductName = "Название";
         newProduct.Unit = "Колличество";
         newProduct.Quantity = "Качество";
         newProduct.PricePerUnit = 0;

         dataSet.Product.AddProductRow(newProduct);
         productDataGrid.SelectedItem = newProduct;

         MessageBox.Show("Пожалуйста, заполните данные для новой записи.", "Добавление записи", MessageBoxButton.OK, MessageBoxImage.Information);
     }
     catch (SqlException ex)
     {
         MessageBox.Show("Произошла ошибка при добавлении записи: " + ex.Message, "Ошибка добавления записи", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }

Ответы (1 шт):

Автор решения: Deniska SosiSka

Для назначения у новой строки следующего по порядку id, Вам необходимо сначала узнать максимальный id в таблице. Вы можете сделать это при помощи LINQ:

var maxProductId = dataSet.Product.Max(p => p.ProductID);

После чего, присвойте новой строке значение id больше на 1:

newProduct.ProductID = maxProductId + 1;

Если подразумевается что в Вашей таблице не присутствуют строки по умолчанию, необходимо обработать возможный null:

var maxProductId = dataSet.Product.Max(p => (int?) p.ProductID);

newProduct.ProductID = (maxProductId ?? 0) + 1;
→ Ссылка