我在数据集中有一些数据,我通常会选择如下所示的记录。
SnapshotDS.SnapshotRow[] previousRow =
m_PreviousSnapshot.Snapshot.Select(string.Format("TechKey = '{0}'", ChangeRow.TechKey))
as SnapshotDS.SnapshotRow[];
ChangeRow.Prev_Staff_No = previousRow[0].Staff_No;
要在 LINQ 中执行相同的操作,我希望执行以下操作,但我在Field关键字下得到一条摆动线。
var pRow = from p in m_PreviousSnapshot.Snapshot.AsEnumerable()
where p.Field<string>("TechKey") == ChangeRow.TechKey
.Single()
select p;
ChangeRow.Prev_Staff_No = p.Staff_No;
我以前多次使用过类似的 LINQ,从来没有遇到过这个问题。
有什么建议么?
编辑
我得到的编译器错误是:
错误 CS0019:运算符“==”不能应用于“字符串”和“字符”类型的操作数
...但是“TechKey 字段绝对是 DataSet 中的字符串。