gpt4 book ai didi

c# - 使用 Linq to SQL 删除表中的行

转载 作者:可可西里 更新时间:2023-11-01 08:33:40 25 4
gpt4 key购买 nike

我有一个体育数据库,其中包含一个表 groupmembers,其中包含字段 ID、groupID 和 memberID。我从名为 txtRemoveGroupMember 的文本框中获取 memberID,从复选框列表中获取 groupID。现在我想删除同时具有 groupID 和 memberID 的行。我试过这段代码:

foreach(ListItem listItem in cblRemoveMemberFromGroup.Items)
{
int memberid = Convert.ToInt32(txtRemoveGroupMember.Text);
int groupid = Convert.ToInt32(listItem.Value);

var removeFromGroup = from gm in dataContext.GroupMembers
where (gm.memberID == memberid) && (gm.groupID == groupid)
select gm;

dataContext.GroupMembers.DeleteOnSubmit(removeFromGroup);
dataContext.SubmitChanges();
}

但是我得到这个错误:

Error 7 Argument 1: cannot convert from 'System.Linq.IQueryable<GSI_side.GroupMember>' to 'GSI_side.GroupMember'

还有这个错误:

Error 6 The best overloaded method match for 'System.Data.Linq.Table<GSI_side.GroupMember>.DeleteOnSubmit(GSI_side.GroupMember)' has some invalid arguments

希望有人能帮我解决这个问题!

最佳答案

你必须调用.ToList()

var items = removeFromGroup.ToList();
foreach (var item in items)
dataContext.GroupMembers.DeleteOnSubmit(item);

对于批量删除,我使用 this ,因为 LINQ to SQL 首先加载要删除的整个数据,然后逐个删除。

https://terryaney.wordpress.com/2008/04/14/batch-updates-and-deletes-with-linq-to-sql/

https://github.com/longday/LINQ-to-SQL-Batch-Updates-Deletes

关于c# - 使用 Linq to SQL 删除表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9503008/

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