首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EF不要在BindingSource中使用BindingSource保存

EF不要在BindingSource中使用BindingSource保存
EN

Stack Overflow用户
提问于 2015-07-14 15:17:12
回答 2查看 490关注 0票数 1

我已经用DbSet属性创建了一个代码优先上下文

我使用Windows窗体。如果我约束如下:

代码语言:javascript
复制
_context.Schedules.Load();
scheduleBindingSource.DataSource = _context.Schedules.Local.ToBindingList();

所有这些都很好,当我保存如下:

代码语言:javascript
复制
this.Validate();
scheduleBindingSource.EndEdit();
_context.SaveChanges();

数据仍然存在,但是当我像这样绑定数据时:

代码语言:javascript
复制
var res = _context.Schedules.Where(k => k.EmployeeName.Equals(employeeComboBox.Text)).ToList();
scheduleBindingSource.DataSource = res;

当我保存数据的时候,我就不知道了!

我认为ToList()方法不是很好,但我找不到替代方法来将BindingList连接到上下文中的本地数据集。

谢谢,

安德里亚

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-14 15:36:22

你可以试试这个:

代码语言:javascript
复制
_context.Schedules.Where(k => k.EmployeeName.Equals(employeeComboBox.Text)).Load();
scheduleBindingSource.DataSource = _context.Schedules.Local.ToBindingList();

这只会带来符合条件的时间表。当您在Load方法之后调用Where方法时,它将只将符合条件的记录带入内存。稍后,当您调用Local属性时,它将为您提供一个包含当前由DbContext跟踪的所有对象的ObservableCollection<Schedule>,这些对象将是您以前加载的元素。最后,当您调用ToBindingList扩展方法时,它将返回一个与给定ObservableCollection<Schedules>保持同步的BindingList<Schedule>

票数 3
EN

Stack Overflow用户

发布于 2015-07-16 12:10:50

导致数据不持续的原因是由DataGridView (或BindingSource)造成的,它没有在上下文中添加刚才添加的行的新位置。

所以我已经禁用了AllowUserToAddRow属性(现在我使用的是BindingNavigator添加按钮)

并实施了以下两项活动:

代码语言:javascript
复制
private void scheduleBindingSource_AddingNew(object sender, AddingNewEventArgs e)
{
    _scheduleAdding = true;
}

private void scheduleBindingSource_CurrentChanged(object sender, EventArgs e)
{
    if (_scheduleAdding)
    {
        Schedule s = (Schedule)scheduleBindingSource.Current;
        s.EmployeeName = employeeComboBox.Text;
        s.From = new DateTime(dateTimePicker1.Value.Year, dateTimePicker1.Value.Month, 1);
        _context.Schedules.Add(s);
        _scheduleAdding = false;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31410655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档