欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » C# » 正文

不支持直接到存储查询(DbSet、DbQuery、DbSqlQuery、DbRawSqlQuery)的数据绑定。应使用数据填充 DbSet (例如通过对 DbSet 调用 Load),然后绑定到本地数据

创建时间:2015年09月26日 09:58  阅读次数:(6527)
分享到:
今天在对一个DbSet进行查询后,将查询的结果集直接绑定到DataGrid,如下面代码:
 var data = from s in PlatDbContext.PlatDbContextInstance.FormUIDataGridConfiguration
                       where s.FormID == formId
                       orderby s.OrderID ascending
                       select s;

            this.grid.DataSource = data;

结果在运行时出现了以下错误提示:
不支持直接到存储查询(DbSet、DbQuery、DbSqlQuery、DbRawSqlQuery)的数据绑定。应使用数据填充 DbSet (例如通过对 DbSet 调用 Load),然后绑定到本地数据。对于 WPF,请绑定到 DbSet.Local。对于 WinForms,请绑定到 DbSet.Local.ToBindingList()。对于 ASP.NET WebForms,您可以绑定到对查询调用 ToList() 的结果,或者使用模型绑定,有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=389592。

对于这个问题,最简单的方法只需要将查询的结查集转为ToList()就可以了,如下:
 var data = from s in PlatDbContext.PlatDbContextInstance.FormUIDataGridConfiguration
                       where s.FormID == formId
                       orderby s.OrderID ascending
                       select s;

            this.grid.DataSource = data.ToList();
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论1条
  • #1楼  评论人:周  评论时间:2017-6-26 8:49:59
  • 还行,靠谱
发表评论:
留言人:
内  容:
请输入问题 93+56=? 的结果(结果是:149)
结  果: