Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据库C WPF Linq删除行_C#_Wpf_Linq_Linq To Sql - Fatal编程技术网

C# 从数据库C WPF Linq删除行

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

我想从数据库中删除Datagrid中选定行上的一行 我已经知道如何在我的Datagrid中选择一行,但是当我在按钮上删除它时,单击它只会在我的Datagrid中删除它,而不会在我的实际数据库中删除它

我正在使用以下代码删除我的行:

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();