【发布时间】:2016-07-30 19:45:41
【问题描述】:
使用ObservableCollection 和LINQ 查询从SQL Server 数据库表中获取int,我遇到了这个错误。应该返回一个 4 位整数,像这样3125
CS1503 参数 1:无法从 'System.Collections.Generic.List
' 到 'System.Collections.Generic.List '
这怎么可能?它与List 中的类型相同。
我的代码,
public static ObservableCollection<long> SearchNameComboStaffNo(DatabaseDataContext database, string staffNameFirst, string staffNameSecond)
{
return new ObservableCollection<long>
(database.Staff_Data_TBLs
.Where(staff => staff.Staff_Name_First == staffNameFirst &&
staff.Staff_Name_Second == staffNameSecond)
.Select(staff => staff.Staff_No).ToList());
}
无论我尝试什么,我总是得到一个编译错误。但是,同类型怎么不能转换呢?
【问题讨论】:
-
long?与long的类型不同。long?可能处于无效状态,因此不能直接转换为long。 -
@nshct,啊,我明白了。那么这将如何修改才能起作用呢?我不能,不管我做什么。
-
要么将您的返回类型更改为
ObservableCollection<long?>,要么实现Grant Winney's answer