【问题标题】:Right way to delete a row in ado.net entity data model在ado.net实体数据模型中删除一行的正确方法
【发布时间】:2017-06-01 08:08:40
【问题描述】:

我需要使用 ado.net 实体数据模型删除一行。已经在谷歌上搜索了这个,但我仍然无法找到正确的方法。

这是我的代码:

else if (mode == 3)
            {
                LaundryEntities1 db = new LaundryEntities1();
                var query = (from user in db.Users
                             where user.UserID == textBoxID.Text
                             select user).First();
                db.DeleteObject(query);
                db.SaveChanges();
                reload();
                MessageBox.Show("Succesfully delete a user");
                clear();
            }

【问题讨论】:

  • 你能解释一下这里有什么不工作吗?
  • 删除功能不起作用,每次使用都没有反应

标签: c# linq ado.net-entity-data-model


【解决方案1】:

你可以使用

LaundryEntities1 db = new LaundryEntities1();
            var query = (from user in db.Users
                         where user.UserID == textBoxID.Text
                         select user).First();

            db.Entry(employer).State = EntityState.Deleted

            if(db.SaveChanges())
              MessageBox.Show("Succesfully delete a user");

【讨论】:

  • 谢谢,我正在使用 Visual Studio 2010 顺便说一句,但没有 db.Entry 我错过了什么吗?
  • 你使用“System.Linq;”吗?
  • 或者,你应该更新或安装 nuget 你的包
  • 已经有 System.Linq,我已经解决了我自己的问题,但我也会尝试使用您的选项。谢谢
【解决方案2】:

我创建了一个名为 Session 的公共类

public class session
    {
        public static DatabaseEntities db = new DatabaseEntities();
        public static User user = null;
    }

并将我的代码更改为

Users user = (from x in session.db.Users
              where x.UserID == textBoxID.Text
              select x).FirstOrDefault();
session.db.Users.DeleteObject(user);
session.db.SaveChanges();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-29
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    相关资源
    最近更新 更多