快速的问题,以下行应该是不言自明的:
doc.Descendants("DOB").Select(dob => dob.ToString()).All(dob => DateTime.Parse(dob.ToString()) != DateTime.Parse(processing.DateOfBirth))
但以防万一,如果节点(DOB)的任何值与 processing.dateofbirth 的日期时间相同,我想返回 false,因为如果它不在其中,我需要将出生日期添加到 xml 中。
我的两个问题是
这是用 linq to xml 完成此任务的最短代码量吗?(我认为不是)
和
这将针对数百万条记录运行,是否有更有效的方法来完成此操作?
编辑
我误会了,对不起。XML 很小。数据库中有数百万行代表一个人,其中一列 PersonXml 仅包含姓名、出生日期、号码和其他一些内容。这些行通过 SqlDataReader 读入并验证/更新,这是其中的一部分。