-2
一定proccess後,我婉刪除從表中重複並提交更改,所以只有單值保持。LINQ - 如何去除重複行的表
我有去除三個標準:
- 名稱
- 日期
- 狀態(始終爲1)
因此,如果有同名的記錄,以及相同的日期和相同的狀態...刪除一個。哪一個並不重要。
我: dbContext.tbl_mytable
一定proccess後,我婉刪除從表中重複並提交更改,所以只有單值保持。LINQ - 如何去除重複行的表
我有去除三個標準:
因此,如果有同名的記錄,以及相同的日期和相同的狀態...刪除一個。哪一個並不重要。
我: dbContext.tbl_mytable
既然你是在談論刪除記錄,你需要測試這首。
所以,如果有記錄具有相同的名稱,相同的日期和相同的狀態...刪除一個。哪一個並不重要。
我假設你想除去一個,即,如果你有三個記錄具有相同的細節,你刪除兩個並留下一個。
如果是這樣,你應該能夠通過{名稱,日期,狀態}分組,然後選擇以外的所有各組中的第一個記錄來識別重複。
即像
var duplicates = (from r in dbContext.tbl_mytable
group r by new { r.Name, r.date, r.status} into results
select results.Skip(1)
).SelectMany(a=>a);
dbContext.tbl_mytable.DeleteAllOnSubmit(duplicates);
dbContext.SubmitChanges();
所以,你正在使用'Linq到SQL',對不對?表格是否有主鍵? – qxg
是的。我使用Linq到SQL。表具有主鍵。 –