Tôi có cơ sở dữ liệu thể thao với một nhóm bảng có các trường ID, groupID và memberID. Tôi nhận được memberID từ một hộp văn bản được gọi là txtRemoveGroupMember và groupID từ một danh sách kiểm tra. Bây giờ tôi muốn xóa các hàng có cả groupID và memberID. Tôi đã thử mã này:Xóa các hàng trong một bảng bằng LINQ to SQL
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();
}
Nhưng tôi nhận được lỗi này: Lỗi 7 Đối số 1: không thể chuyển đổi từ 'System.Linq.IQueryable' thành 'GSI_side.GroupMember'
Và lỗi này: Lỗi 6 Kết hợp phương pháp quá tải tốt nhất cho 'System.Data.Linq.Table.DeleteOnSubmit (GSI_side.GroupMember)' có một số đối số không hợp lệ
Hy vọng ai đó có thể giúp tôi tìm ra điều này!
DeleteOnSubmit yêu cầu một đối tượng kiểu GroupMember và truy vấn LINQ trả về IQueryable. Đó là lý do tại sao nhận được lỗi. Hãy thử sử dụng removeFromGroup.ToList() để thay thế. – Dinesh