Linqは初めてなので、これが基本的な場合はお詫びします。このクエリは、結果を列挙するときにエラー{"DBNull.Valueをタイプ'System.Int64'にキャストできません。null許容タイプを使用してください。"}をスローします。
private void AddLevels(long rootid)
{
var results = from row in data.AsEnumerable()
where row.Field<long>("ParentID") == rootid
select row;
foreach (DataRow row in results)
{
//do stuff
}
}
列ParentIDはnullを受け入れます-これらを個別に処理する必要がありますか?
EDIT2:以下の実際のソリューションはまだLinqを使用しています。
編集: Linqを破棄し、代わりにDataTable.Selectステートメントを使用することでこれを解決しました。誰かがパフォーマンスの違いについて意見を持っているなら、私は興味があるでしょう。