C# 从数据库C WPF Linq删除行
我想从数据库中删除Datagrid中选定行上的一行 我已经知道如何在我的Datagrid中选择一行,但是当我在按钮上删除它时,单击它只会在我的Datagrid中删除它,而不会在我的实际数据库中删除它 我正在使用以下代码删除我的行:C# 从数据库C WPF Linq删除行,c#,wpf,linq,linq-to-sql,C#,Wpf,Linq,Linq To Sql,我想从数据库中删除Datagrid中选定行上的一行 我已经知道如何在我的Datagrid中选择一行,但是当我在按钮上删除它时,单击它只会在我的Datagrid中删除它,而不会在我的实际数据库中删除它 我正在使用以下代码删除我的行: private void btnDeleteUser_Click(object sender, RoutedEventArgs e) { DialogResult dr = System.Windows.Forms.MessageBox.Sho
private void btnDeleteUser_Click(object sender, RoutedEventArgs e)
{
DialogResult dr = System.Windows.Forms.MessageBox.Show("Do You Want to Delete this User?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (dr == DialogResult.Yes)
{
var query =
from t in db.tbl_Users
where t.Name == name
select t;
foreach (var t in query)
{
db.tbl_Users.DeleteOnSubmit(t);
}
db.SubmitChanges();
var refresh =
(from q in db.tbl_Users
select new { Name = q.Name, Rights = q.Rights, Operatortag = q.Operatortag, Active = q.Active, Cardcode = q.CardCode }).ToList();
dgUsers.ItemsSource = refresh;
}
}
如果更新,我的数据库属性设置为“复制”,我已经尝试设置为“始终复制”,但这也没有帮助
有人知道我的问题的答案吗?你必须打电话。我希望这会有帮助
var items = query.ToList();
foreach (var item in items)
{
db.tbl_Users.DeleteOnSubmit(item);
}
或者您可以使用DataContext
“如果较新,则复制”是正确的选择,请尝试在不使用调试器/visual studio的情况下运行应用程序本身。这也不起作用@Leiyang如果您单步执行并调试代码,则查询是否有值或是否为空?不,它已填充@ChillFire您是否使用LinqDataAdapter填充数据网格?请尝试此操作,首先检查查询是否返回某些值var items=query.ToList;db.tbl_Users.deleteAllonsubmitems;db.提交变更;已经这样做了,理论上它可以正常工作,但是在Datacontext和数据库之间的某个地方出了问题,你可以尝试使用Datacontext删除吗?我只是添加了我的原始答案。。希望这会有帮助。。或者我会学到一些新东西:
List<GroupMember> removeFromGroup = (from gm in dataContext.GroupMembers
where (gm.memberID == memberid))
select gm).ToList();
dataContext.GroupMembers.DeleteAllOnSubmit(removeFromGroup);
dataContext.SubmitChanges();