我希望你能帮助我。更新所有独特记录(比较2个不同表中的字段)
我想通过验证一个表的项目号在另一个表中不存在来更新所有唯一记录。
目前我有下述步骤,但我得到一个错误返回的结果是超过2100:
传入的表格格式的数据流(TDS)远程过程调用(RPC)协议流不正确。此RPC请求中提供的参数太多。最大值是2100.
我已经在这个问题上做了大量的阅读和研究,但我正在努力寻找和实现一个简单的解决方案,将为我的目的工作。请注意:我是新手。
任何想法,我可以重写这个工作?
public static void NewRecords()
{
using (var stageContext = new StagingTableDataContext())
{
using (var destinationContext = new DestinationTableDataContext())
{
var allProjectNames = destinationContext.THEOPTIONs.Select(u => u.NAME).ToList();
var deltaList = stageContext.ProjectMasters.Where(u => !allProjectNames.Contains(u.Finance_Project_Number)).ToList();
deltaList.ForEach(u => u.Processing_Result = 0);
deltaList.ForEach(u => u.Processing_Result_Text = "UNIQUE");
}
stageContext.SubmitChanges();
}
}
预先感谢您!
这可能没有关系,但为什么要嵌套使用两个上下文类?为什么不打开'DestinationTableDataContext',计算'allProjectNames',然后打开'StagingTableDataContext'并更新数据? –
@Yacoub Massad我嵌套使用2个上下文类来简化代码的重用和支持目的。 – onmyway
'allProjectNames'列表的大小是多少? –