WPF Entity Невозможно добавить запись в таблицу

291
03 июня 2017, 13:36

Необработанное исключение типа "System.Data.Entity.Infrastructure.DbUpdateException" в EntityFramework.dll

Дополнительные сведения: При обновлении записей возникла ошибка. Дополнительные сведения приведены во внутреннем исключении.

Может дело в самой бд? Как посмотреть внутренние исключения?

using System.Linq;
using System.Windows;

namespace EntityLast
{
public partial class Window2 : Window
{
    StudentsandGroupEntities db;
    Student item;
    public Window2()
    {
        InitializeComponent();
    }
    public Window2(StudentsandGroupEntities db)
    {
        InitializeComponent();
        Title = "Добавление";
        this.db = db;
    }
    public Window2(Student item, StudentsandGroupEntities db)
    {
        InitializeComponent();
        db = new StudentsandGroupEntities();
        var l = db.Students.ToList();
        this.DataContext = l;
        this.comboBox.ItemsSource = db.Groups.ToList();
        Title = "Редактирование";
        this.item = item;
        this.db = db;
    }
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        textBox.Text = item?.IDStudent.ToString();
        textBox1.Text = item?.Surname.ToString();
        textBox2.Text = item?.Name.ToString();
        textBox3.Text = item?.AddName.ToString();
        LoadComboBoxData();
    }

    public void LoadComboBoxData()
    {
        comboBox.ItemsSource = db.Groups.ToList();
        comboBox.SelectedValue = item != null ? item.IDGroup : 0;
    }
    private void button_Click(object sender, RoutedEventArgs e)
    {
            if (item != null)//редактирует
            {
                var row = db.Students.Where(s => s.IDStudent == item.IDStudent).FirstOrDefault();
                // row.IDStudent = Convert.ToInt32(textBox.Text);
                row.Surname = textBox1.Text;
                row.Name = textBox2.Text;
                row.AddName = textBox3.Text;
                row.IDGroup = int.Parse(comboBox.SelectedValue.ToString());
                db.SaveChanges();
            }
            else
            {
                var row = new Student()//добавляет
                {
                    // IDStudent = Convert.ToInt32(textBox.Text),
                    Surname = textBox1.Text,
                    Name = textBox2.Text,
                    AddName = textBox3.Text,
                    IDGroup = int.Parse(comboBox.SelectedValue.ToString())
                };
                db.Students.Add(row);
                db.SaveChanges();//ошибка здесь
            }
        }
    }
}
READ ALSO
Применение string.Empty

Применение string.Empty

Зачем применять stringEmpty, или в чем его отличие от ""? И в том, и в другом случаях результат - пустая строка

213
Преобразовать массивы в объекты js

Преобразовать массивы в объекты js

Возникла проблемаЕсть массив

353
Промисы, почему не работает условие

Промисы, почему не работает условие

Не совсем понимаю в чем дело, суть такова:

362
Как лучше реализовать такой слайдер?

Как лучше реализовать такой слайдер?

ЗдравствуйтеЕсть такой код слайдера:

385