开发环境:Asp.NET 4.5, Entity Framework 5.0, Visual Studio 2012, Windows 7
问题描述:
绑定IQueryable<T>类型数据源到DropdownList, 得到错误“不支持直接到存储查询(DbSet、DbQuery、DbSqlQuery)的数据绑定。应使用数据填充 DbSet (例如通过对 DbSet 调用 Load),然后绑定到本地数据。对于 WPF,绑定到 DbSet.Local。对于 WinForms,绑定到 DbSet.Local.ToBindingList()。”(英文为:Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) 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().)如图:
解决办法:将返回的IQueryable<T>数据转换为List对象(加.ToList())
参考资料:
http://geekswithblogs.net/Chandradev/archive/2012/04/09/data-binding-directly-to-a-store-query-dbset-dbquery-dbsqlquery-again.aspx
转载于:https://www.cnblogs.com/pchen/archive/2013/04/14/3020584.html