我有一个视图,我有AJAX调用
这是AJAX请求的代码,它只是后端的命中方法:
<script>
// deleting
$("#send").click(
function sender() {
$.ajax({
contentType: 'application/json; charset=utf-8',
type: 'Post',
dataType: 'json',
processData: false,
url: '@Url.Action("DeleteAll", "Questions")',
success: function(da) {
if (da.Result === "Success") {
alert("Data deleted!");
} else {
alert('Error' + da.Message);
}
},
error: function(da) {
alert('Error');
}
});
});
后端的方法
public ActionResult DeleteAll()
{
ApplicationDbContext context = new ApplicationDbContext();
List<InvitationMail> query = context.InvitationMails.ToList();
foreach (InvitationMail q in query)
{
context.DeleteObject(q);
}
context.SaveChanges();
return Json(new {Result = "Success", Message = "Saved Successfully"});
}
但我有这个错误
我需要删除InvitationMail
表中的所有数据,我该怎么做?
答案 0 :(得分:2)
使用Removerange
功能比foreach
:
List<InvitationMail> query = context.InvitationMails.ToList();
context.InvitationMails.Removerange(query);
context.SaveChanges();
答案 1 :(得分:1)
DbContext
不包含DeleteObject()
方法,但您可以使用Remove()
方法。像这样:
foreach (InvitationMail q in query)
{
context.InvitationMails.Remove(q);
}
context.SaveChanges();
答案 2 :(得分:1)
为什么不使用这样的TRUNCATE TABLE
SQL命令:
context.Database.ExecuteSqlCommand("TRUNCATE TABLE InvitationMail");