通过ajax调用删除数据库中的行

时间:2017-09-03 08:20:44

标签: c# ajax asp.net-mvc asp.net-mvc-4

我有ajax调用,我将值传递给后端

我需要通过此值在数据库中查找数据,然后将其删除

我在后端编写此代码

 public ActionResult DeletingInternal(string title)
    {

        var item = db.Appointments.Where(x => x.Title == title)
            .Select(x => new
            {
                title = x.Title
            }).FirstOrDefault();
        db.Appointments.Remove(item);

    }

但是在这一行db.Appointments.Remove(item);我有错误

  

严重级代码描述项目文件行抑制状态   错误CS1503参数1:无法从''转换为'RS_Main.Models.Appointment'RS_Main C:\ Users \ nemes \ Source \ Repos \ RIS_Project_New \ RS_Main \ Controllers \ CalendarController.cs 28 Active

如何从数据库中删除行?

2 个答案:

答案 0 :(得分:1)

db.Appointments.FirstOrDefault(x => x.Title == title).Remove();
db.SaveChanges();

答案 1 :(得分:1)

使用db.remove函数,您需要表示该表的精确对象,因此您不需要选择

 public ActionResult DeletingInternal(string title)
    {

        var item = db.Appointments.Where(x => x.Title == title).FirstOrDefault();

    db.Appointments.Remove(item);

    db.SaveChanges(); // this saves the changes

}

使用字符串将其更改为小写或大写以获得更好的性能。

db.Appointments.Where(x => x.Title.ToLower() == title.ToLower() ).FirstOrDefault();