加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 数据绑定linq查询到Entity Framework 5.0中的datagridView

发布时间:2020-12-15 08:17:32 所属栏目:百科 来源:网络整理
导读:我正在学习实体框架(5.0和VSExpress 2012),我在将查询绑定到WinForms中的dataGridView时遇到了麻烦. 我有下面的代码,当我启动应用程序时它显示我的查询,但我不知道在更改底层数据库中的数据后我需要做什么来更新dataGridView.这样做的最佳方法是什么?我在这
我正在学习实体框架(5.0和VSExpress 2012),我在将查询绑定到WinForms中的dataGridView时遇到了麻烦.
我有下面的代码,当我启动应用程序时它显示我的查询,但我不知道在更改底层数据库中的数据后我需要做什么来更新dataGridView.这样做的最佳方法是什么?我在这做错了什么?
private void Form1_Load(object sender,EventArgs e)
    {
        using( var ctx = new TimeKeepEntities())
        {

            var qLoggedIn = from r in ctx.tblTimeRecords
                        where (r.tblEmployee.Active && !r.ClockOut.HasValue) || System.Data.Objects.EntityFunctions.DiffDays(r.ClockOut,DateTime.Now)<30
                        select new { Name = r.tblEmployee.Last + "," + r.tblEmployee.First,r.tblProject.ProjName,r.ClockIn,r.ClockOut };

            dataGridView1.DataSource = qLoggedIn.ToList();

        }
    }

解决方法

Pho请注意他们使用的是winforms而不是asp.net.根据MSDN,您可以执行以下操作:
BindingSource bindingSource1 = new BindingSource();
bindingSource1.DataSource = (from r in ctx.tblTimeRecords
                        where (r.tblEmployee.Active && !r.ClockOut.HasValue) || System.Data.Objects.EntityFunctions.DiffDays(r.ClockOut,r.ClockOut }).ToList();

dataGridView1.DataSource = bindingSource1;

见:msdn documentation

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读