gpt4 book ai didi

linq - 使用 LINQ 查找/删除重复项

转载 作者:行者123 更新时间:2023-12-03 07:25:12 31 4
gpt4 key购买 nike

我有一个包含大量重复项的表。这些是精确的重复项,减去主键列,这是一个整数标识列。

使用 EF 和 LINQ,如何找到重复项并将其删除,只留下一份副本。

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

谢谢!

最佳答案

我的想法(未经测试):

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();

关于linq - 使用 LINQ 查找/删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4502982/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com