使用LINQ查找/删除重复项

Den*_*ail 4 linq entity-framework

我有一个包含一堆重复的表.这些是完全相同的,减去主键列,它是一个整数标识列.

使用EF和LINQ,如何找到重复项并删除它们,只留下一个副本.

我找到了重复项和每个使用SQL和SSMS的计数.我只是不知道从哪里开始LINQ.

谢谢!

Cra*_*ntz 7

脱离我的头顶(未经测试):

var q = from r in Context.Table
        group r by new { FieldA = r.FieldA, FieldB = r.FieldB, // ...
            into g
        where g.Count() > 1
        select g;
foreach (var g in q)
{
    var dupes = g.Skip(1).ToList();
    foreach (var record in dupes)
    {
        Context.DeleteObject(record);
    }
}
Context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)