首页 > 解决方案 > 在控制器操作 ASP.NET Core 中执行 SQL 查询

问题描述

我很难在 ASP.NET Core 中执行查询。我需要做的:我有一个包含各种属性的索引视图,在我视图中的行旁边我有一个按钮,在按钮单击时它必须执行控制器操作,该控制器操作存在于:插入的查询将特定行放入新表中,然后删除当前表中的行。

我现在这样做:

我创建的控制器动作:

    [HttpPost]
    public void MutatieButton(int? id)
    {
        using (var context = new Context())
        using (var command = context.Database.GetDbConnection().CreateCommand())
        {
            command.CommandText = "INSERT INTO Mutatie SELECT * FROM Moederblad" + "DELETE FROM Moederblad WHERE Id="+ id;
            context.Database.OpenConnection();
            using (var result = command.ExecuteReader())
            {
                return;
            }
        }
    }

视图中的按钮:

 <input id="Mutatie" asp-route-id="@item.Id" type="button" value="Mutatie" onclick="MutatieButton()" />

执行控制器动作 onclick 的脚本代码:

function MutatieButton() {
$.ajax({
    type: "POST",
    url: '@Url.Action("Index", "Moederblads")',
    async: true,
    success: function (msg) {
        ServiceSucceeded(msg);
    },
    error: function () {
        return "error";
    }
});

}

但我似乎无法弄清楚。我读过一些关于工作单元的东西,但如果我理解正确的话,这对我来说很困惑:你有一个 DAL,你可以在其中放置所有操作,例如:删除、更新、插入、编辑等。你将这些操作称为你的控制器来执行它们?

或者有更好的做法吗?

标签: c#asp.netasp.net-mvcasp.net-core

解决方案


推荐阅读