【发布时间】:2016-07-09 07:05:59
【问题描述】:
我正在尝试使用 LINQ 查询创建一个 单独的 类,以用于绑定到 WPF 表单。我有以下代码,这些代码是我从本网站和其他网站的研究中整理出来的,但得到一个编译错误说明。
不能隐式转换类型 'System.Linq.IQueryable' 到 system.Collections.ObjectModel.ObservableCollection'。 存在显式转换(您是否缺少演员表?)
Staff_Time_TBL 是在生成 LINQ to SQL 时自动生成的类。 Staff_Time_TBL 是我试图从中获取数据的 SQL Server 中 Table 的名称。
class ObservableData
{
public ObservableCollection<Staff_Time_TBL> InfoData { get; set; }
public ObservableData(DatabaseDataContext database, int staffNo, DateTime fromDate, DateTime toDate)
{
InfoData = new ObservableCollection<Staff_Time_TBL>();
InfoData = database.Staff_Time_TBLs
.Where(staff => staff.Staff_No == staffNo &&
staff.Date_Data == fromDate &&
staff.Date_Data == toDate);
}
}
我尝试使用Tolist(),但得到这个编译错误,
不能隐式转换类型 'System.Collections.Generic.List' 到 'System.Collections.ObjectModel.ObservableCollection'
我希望我清楚自己要做什么,以及对我做错什么有任何帮助?
编辑:这与实现集合有关。
【问题讨论】:
-
这个问题一点都不清楚。它看起来与你的另一个几乎没有什么不同,LINQ query into ObservableCollection?。你说的“分班”是什么意思?
ObservableCollection<T>以什么方式没有做你想做的事?您的其他问题中的答案以何种方式完全解决了您在此处询问的 compiler 错误,但没有完成您想要的。 -
为什么你继续尝试将不是
ObservableCollection<T>的东西分配给变量,即使你已经回答了另一个问题,告诉你如何正确获取ObservableCollection<T>对象包含查询中的元素吗? -
@PeterDuniho,如果我知道我肯定不会发布这个问题。我不知道有什么其他的说法,这是我想要做的类中的方法吗?
-
@PeterDuniho,José Caballero 的回答解决了我遇到的问题。
-
“José Caballero 的回答解决了我遇到的问题” -- 我不知道怎么做。他的答案在功能上与您对其他问题的答案没有什么不同。最终的结果是完全一样的。你可以很容易地写
observableSomeClass = new ObservableCollection<SomeClass>(result);。observableSomeClass对象在每个版本的代码中的最终状态将彼此无法区分。