簡単な質問ですが、次の行は一目瞭然です。
doc.Descendants("DOB").Select(dob => dob.ToString()).All(dob => DateTime.Parse(dob.ToString()) != DateTime.Parse(processing.DateOfBirth))
しかし念のため、ノード (DOB) のいずれかの値が processing.dateofbirth と同じ日時である場合は false を返したいと思います。生年月日がそこにない場合は xml に追加する必要があるからです。
私の2つの質問は
これは、linq to xml を使用して、これを達成するための最短のコードですか? (ないと思います)
と
これは数百万のレコードに対して実行されますが、これを達成するためのより効率的な方法はありますか?
編集
言い間違えました、すいません。XML は小さいです。データベースには 1 人の人物を表す何百万もの行があり、列 PersonXml には名前、生年月日、番号、およびその他の要素がいくつか含まれています。行は SqlDataReader を介して読み込まれ、検証/更新されます。これはその一部です。