Asp.net 如何使用linq根据id删除喜欢的数据?

Asp.net 如何使用linq根据id删除喜欢的数据?,asp.net,c#-4.0,linq-to-sql,Asp.net,C# 4.0,Linq To Sql,我想删除多个记录使用linq的基础上一样的id我知道,删除一个单一的id在一次,但我希望它删除所有数据,如果链接id是相同的。下面是一个代码,其中正在删除单个链接id行,现在删除所有行 VFDataClassesDataContext con = new VFDataClassesDataContext(Globals.con); LocationSetting LocationSettings = con.LocationSettings.First(w => w.LinkId ==

我想删除多个记录使用linq的基础上一样的id我知道,删除一个单一的id在一次,但我希望它删除所有数据,如果链接id是相同的。下面是一个代码,其中正在删除单个链接id行,现在删除所有行

 VFDataClassesDataContext con = new VFDataClassesDataContext(Globals.con);
 LocationSetting LocationSettings = con.LocationSettings.First(w => w.LinkId == 1);
            con.LocationSettings.DeleteOnSubmit(LocationSettings);
            con.SubmitChanges();
若我发送一个id 1来删除行,那个么若有一个id为1的多条记录链接,那个么所有记录都将被删除

表类似于以下ID、LinkID、值、类型、时间日期

价值观是这样的

1, 0 , USA , R , 2013-10-25 20:09:29.043
2, 0 , UAE , R , 2013-10-25 20:09:29.043
3, 0 , AUS , R, 2013-10-25 20:09:29.043
4, 1 , SA , A , 2013-10-25 20:09:29.043
5, 1 , UA , A , 2013-10-25 20:09:29.043
6, 1 , AS , A , 2013-10-25 20:09:29.043
7, 2 , SA , A , 2013-10-25 20:09:29.043
8, 2 , UA , A , 2013-10-25 20:09:29.043
9, 2 , AS , A , 2013-10-25 20:09:29.043

这种方法是在同一个表中查询数据,查询要删除的项,并将它们传递给
deleteAllonsSubmit()
方法

听起来您想删除多个具有相同
LinkId
的项目。按
LinkId
对它们进行分组,并获取组中有多个项的项

var query =
    from ls in context.LocationSettings
    group ls by ls.LinkId into g
    where g.Count() > 1
    from ls in g
    select ls;
context.LocationSettings.DeleteOnSubmit(query);
context.SubmitChanges();

嗨,Jeff什么也没发生我尝试了你的示例你能肯定地说你的数据库中有相同的
LinkId
s的记录吗?如果查询中没有返回任何内容,则可能没有需要删除的内容。请参阅编辑的说明