c# - Linq-to-Sql 删除命令不起作用

标签 c# linq-to-sql

下面是一个简单的 Linq-to-SQL 查询,用于删除与给定用户 ID 关联的地址记录。它在我看来是正确的,并且与我在网上关注的其他示例相匹配。但是,当我执行它时,记录并没有被删除。并且没有返回任何错误信息。我做错了什么?

protected void Button1_Click(object sender, EventArgs e)
    {
        int UserID = 250;

        SBMData2.SBMDataContext db = new SBMData2.SBMDataContext();

        var addresses = from a in db.Addresses
                        where a.UserID == UserID
                        select a;

        foreach (var address in addresses)
        {
            try
            {
                db.Addresses.DeleteOnSubmit(address);
            }
            catch (Exception ex)
            {

                Label1.Text = ex.StackTrace.ToString();
            }
        }
    }

最佳答案

您尚未提交示例中的任何更改。您仅将更改排队以在提交时保存。

要真正将更改写入数据库,您必须调用 db.SubmitChanges();

关于c# - Linq-to-Sql 删除命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7392535/

相关文章:

linq - 在 Linq to SQL 中使用委托(delegate)进行投影

linq-to-sql - 在 SSMS 中执行 LINQ 生成的 SQL

sql - LINQ:计算多列中真正 bool 值的数量

c# - 我所有的参数都应该在构造函数中吗?

c# - 无法从 Azure Function 应用程序的 Nuget 安装 ApplicationInsights

c# - Linq 从字符串排序方向

c# - 如何在 C# 和 DataAnnotation 中创建通用的 UniqueValidationAttribute?

c# - 如何绑定(bind)到 XAML 中实例化类的属性

c# - 如何获取网页的文本?

c# - 在自定义 Html Helper 中获取 Action 的 MvcHtmlString