Я хочу привязать свой элемент управления DataGridView к базе данных через модель Entity (созданную с использованием первого подхода к модели), я использую EF 5.0, .NET 4.5 и winforms
Моя привязка организована следующим образом:
DataGridView->BindingSource->BindingList->EF.DbSet->База данных
Результат (проблема)
1) обновления существующих записей работают правильно
2) вставки отправляются в BindingList, но они НЕ отправляются в EF.DbSet
Что может быть причиной этого и как я могу решить эту проблему?
Мой код:
//form level objects
private BindingList<Person> persons;
private BindingSource pSource=new BindingSource();
private void Form1_Load(object sender, EventArgs e)
{
_context=new TestEFmodelContainer();
var p = _context.PersonSet.ToList();
persons = new BindingList<Person>(p); //getting bindinglist
persons.AllowEdit = true;
persons.AllowNew = true;
pSource.DataSource = persons;
pSource.AllowNew = true;
personDataGridView.DataSource = pSource;
}
//"Save changes to DB" button
private void SaveChangesToDB_Click(object sender, EventArgs e)
{
_context.SaveChanges();
}