我有一个体育数据库,其中有一个表 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();
}
但我收到这个错误:
错误 7 参数 1:无法从“System.Linq.IQueryable”转换为“GSI_side.GroupMember”
还有这个错误:
错误 6 'System.Data.Linq.Table.DeleteOnSubmit(GSI_side.GroupMember)' 的最佳重载方法匹配有一些无效参数
希望有人能帮我解决这个问题!
你必须调用 .ToList()
var items = removeFromGroup.ToList();
foreach (var item in items)
dataContext.GroupMembers.DeleteOnSubmit(item);
对于批量删除我使用this https://terryaney.wordpress.com/2008/04/14/batch-updates-and-deletes-with-linq-to-sql/,因为 LINQ to SQL 首先加载要删除的整个数据,然后逐个删除。
https://terryaney.wordpress.com/2008/04/14/batch-updates-and-deletes-with-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 https://github.com/longday/LINQ-to-SQL-Batch-Updates-Deletes
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)