我想通过实体模型(使用模型优先方法创建)将我的 DataGridView 控件数据绑定到数据库,我正在使用 EF 5.0、.NET 4.5 和 winforms
我的绑定组织如下:
DataGridView->BindingSource->BindingList->EF.DbSet->Database
结果(问题)是
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();
}