Linq 和列表视图和包含

本文关键字:包含 视图 列表 Linq | 更新日期: 2023-09-27 18:31:15

>我有一个表格"资产",和一个填充类别的"列表视图"(assetCategoriesListView)。

我正在尝试使用类别选择选择所有资产:

Assets myAsset = dbLinqManager.db.Assets.Where(a => assetCategoriesListView.CheckedIndices.Contains(a.Category)).First();

但似乎不能使用包含。有谁知道解决方案?

Linq 和列表视图和包含

你陷入了时代错误。 ListView 类可以追溯到 .NET 1.0,这是泛型可用之前的黑暗日子。 CheckedIndices 属性的类型为 ListView.CheckedIndexCollection,它只实现 IEnumerable,而不是 IEnumerable<>。 这就是为什么 Contains() 不起作用的原因。

通常可以使用 Cast() 扩展方法来修复它。 但是CheckedIndex包含整数,而不是对象。 CheckedItems 包含 ListViewItems。 目前尚不清楚您计划如何将它们映射到"资产"。 专注于将数据与视图分开。