c# - 在控制器操作 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,你可以在其中放置所有操作,例如:删除、更新、插入、编辑等。你将这些操作称为你的控制器来执行它们?
或者有更好的做法吗?
解决方案
推荐阅读
- python - ipyleaflet draw_control 不处理“全部清除”按钮
- javascript - HTML CSS 如何使用 JavaScript 从 2D 表格制作动态多列表
- c# - 如何在没有偏移的文本文件中存储日期时间 +05:30
- python - 为什么opencv中resize的插值比PIL差?
- python - 当函数使用 lambda 参数时如何使用模拟
- php - Laravel Lumen 5.7,调试栏抛出调用成员函数监听 null
- regex - 在正则表达式中将单词添加到字符类
- python - 如果列元素是一个集合,如何从熊猫数据框列中获取每个值的计数?
- angular - 在客户端计算机上存储文件的最佳方式
- html - 使锚标记中的特定内容不重定向但可点击以用于 Javascript