Linq to SQL 绑定 ComboBox

最近在练习EF的过程中,实现将Linq返回的结果绑定到Combox时出错。

错误提示如下:

System.NotSupportedException:“Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery, DbRawSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList(). For ASP.NET WebForms you can bind to the result of calling ToList() on the query or use Model Binding, for more information see http://go.microsoft.com/fwlink/?LinkId=389592.”

image

折腾了许久,把查询的结果转换等,最终发现ComBoBox可以绑定Linq查询的结果,唯一的要求就将DataSource放在DisplayMember和ValueMember的后面。

        private void SearchBtn_Click(object sender, EventArgs e)
        {
            //读取表数据并绑定Combox空间
            using (OrderDBContainer db = new OrderDBContainer())
            {
                CBox_User.DisplayMember = "Name";
                CBox_User.ValueMember = "Id";
                CBox_User.DataSource = from u in db.UserAccoutSet 
                                      orderby u.LastName
                                      select new { Name = u.LastName + ", " + u.FirstName, Id = u.Id };
            }
        }

打赏支付宝:

QQ20171114152709_thumb

转载于:https://www.cnblogs.com/taotaozujinet/p/7833705.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值