我希望你能幫助我。更新所有獨特記錄(比較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'列表的大小是多少? –