データセットにいくつかのデータがあり、通常は以下に示すようにレコードを選択します。
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: 演算子 '==' は型 'string' および 'char' のオペランドには適用できません
...しかし、「TechKey フィールドは間違いなく DataSet の文字列です。