Entity framework 如何在实体框架中删除列中具有相同值的记录?
我在数据库中有一个表,其中有一些列。我在我的存储库类中从该表中获得一些记录的列表。因此,我将有如下内容: 现在,我想删除特殊列(此处为“代码”列)中具有相同值的记录,如下所示: 我的意思是,我只希望有一个记录具有相同的代码列值。Entity framework 如何在实体框架中删除列中具有相同值的记录?,entity-framework,Entity Framework,我在数据库中有一个表,其中有一些列。我在我的存储库类中从该表中获得一些记录的列表。因此,我将有如下内容: 现在,我想删除特殊列(此处为“代码”列)中具有相同值的记录,如下所示: 我的意思是,我只希望有一个记录具有相同的代码列值。 如何在实体框架中实现这一点?让您有两个表表1和表2,并且希望删除所有记录 从表1中,它们在表2中具有相同的代码编号。 这是您的要求 1.首先,您必须获得表2中代码列的所有值 var x=db.table2.Select(p=>p.code)然后您必须将其与表1相匹配
如何在实体框架中实现这一点?让您有两个表
表1
和表2
,并且希望删除所有记录
从表1
中,它们在表2中具有相同的代码
编号。
这是您的要求
1.首先,您必须获得表2中代码列的所有值
var x=db.table2.Select(p=>p.code)代码>然后您必须将其与表1相匹配
之后,您将删除这些代码的记录
按
code
列分组,跳过每组的第一条记录并删除其余记录:
var query = db.Records.GroupBy(r => r.Code)
.Select(grouping => grouping.OrderBy(ent => ent.EntityId).Skip(1));
foreach (var element in query.SelectMany (q => q))
{
db.Records.Remove(element);
}
db.SaveChanges();
应该保留哪一排?没关系吧?第一?Max(姓名)?不。没关系。我只想删除一个特殊列(这里是代码列)中具有相同值的记录。@HamidReza有多少行?10、100、1000或更多?我想要5排。谢谢。