我想使用Linq查询绑定源。
T
此代码在运行时出现以下错误:无法将类型为“System.Data.DataView”的对象强制转换为“System.Collections.Generic.IList”
那么,是否可以使用Linq查询绑定源?我想在代码中的其他地方使用绑定源对象。
答案 0 :(得分:1)
首先,你必须从像
这样的列表中获取bindingSource.DataSource的所有记录var list = myBindingSource.List.OfType<yourmodel/class>();
比您可以在此列表中使用查询
var records = list.where(u => u.id == yourid).ToList();
答案 1 :(得分:0)
您可以编写转换器并在转换器中添加LINQ逻辑。
答案 2 :(得分:0)
您需要使用Cast扩展程序转换为IList的通用版本:
((IList)myTableBindingSource.List).Cast<myObjectBinding>().Where(some linq query);
DataView继承自System.Collections.IList,但您尝试转换为System.Collections.Generic.IList。