【发布时间】:2011-11-28 11:15:01
【问题描述】:
我有一个每日 XML 提要,其中包含每天的所有记录。这些需要处理并加载到数据库中,即那些未包含在第 2 天的提要中但在第 1 天提要中的那些应该被删除,并且任何差异都应该导致数据库的更新。我目前的方法是使用处理日期更新每个包含的记录,然后删除当天未处理的所有记录。
但是这需要每天更新每条记录,我想知道是否有更好的方法?
我目前加载 XML 文件并在我的 dbcontext 中查找当前存在于 xml 中的每条记录的每条记录,如下所示:
return (from venue in db.Venues
where venue.id = xmlVenueId
select venue).FirstOrDefault();
如果存在,则使用当前 xml 文件信息更新所有字段,如果不存在,则创建一个新字段。如果所有字段都相同,则不会更新数据库。
处理完所有记录后,我需要删除所有未受影响的记录。
我应该如何形成所有找到的场所的列表(我应该提取主键然后添加到列表还是获取整个场所)以及 linq2Sql 查询会是什么样子以查找不在此列表中的所有记录?
【问题讨论】:
标签: c# linq-to-sql