删除并更新MVC5中的SQL表

时间:2015-01-13 10:21:48

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

我正在使用MVC5。我在Index.cshtml中有一个SQL数据工作表。

我有一个简单的SQL表,由五个元素组成,testID是没有错误的主键。

我想在这里做的是删除一行数据并让它更新SQL表。

Index.cshtml

<center>
<table>
    <tr><td colspan="5" align="center"><br /><br /><h1>Table1 Printout</h1></td></tr>
    <tr><td align="center">testID</td><td align="center">datetime</td><td align="center">col1</td><td align="center">col2</td><td align="center">col3</td><td></td></tr>
    @foreach (var item in Model.thistable)
    {
        <tr><td>@item.testID</td><td>@item.datetime</td><td>@item.col1</td><td>@item.col2</td><td>@item.col3</td><td><form action="@Url.Action("Delete", new{ testID = @item.testID})" method="delete"><input type="submit" value="Delete" /></form></td></tr>
    }
</table>
</center>

HomeController.cs

    public ActionResult Delete(int id)
    {
        Table1.Remove(Table1.SingleOrDefault(o => o.testID == id));
        return RedirectToAction("uvm");
    }

Class.cs

public class Table1
{
    [Key]
    public int testID { get; set; }
    public string datetime { get; set; }
    public string col1 { get; set; }
    public string col2 { get; set; }
    public string col3 { get; set; }
}
public class UserViewModel
{
    public string errorcode { get; set; }
    public List<Table1> thistable { get; set; }
}

1 个答案:

答案 0 :(得分:2)

您必须调用SaveChanges()方法将更改复制到您在模型中创建的数据库。 您还需要对DbContext中的实体进行更改。

Entities ent = new Entities();    //This is name of DbConetxt Class
ent.Table1.Remove(ent.Table1.SingleOrDefault(o => o.testID == id));
ent.SaveChanges();