【发布时间】:2012-03-19 04:02:29
【问题描述】:
我有一个体育数据库,其中包含一个表 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)' 的最佳重载方法匹配有一些无效参数
希望有人能帮我解决这个问题!
【问题讨论】:
-
DeleteOnSubmit 需要一个 GroupMember 类型的对象,并且 linq 查询返回 IQueryable。这就是为什么会出现错误。尝试使用 removeFromGroup.ToList() 代替。