如何在 ASP.NET 核心 2.0 MVC 中调用简单的存储过程



我只想从Core 2.0 MVC调用 ASP.NET 存储过程。

我多次看到这种类型的问题,但每个问题都包含一些参数或通过单个表调用任何参数。

但是对我来说没有什么用的。

因为只是我想调用存储过程,所以整个函数将仅由存储过程完成。

但是我不知道控制器如何调用特殊的存储过程。

这是我的存储过程:

create procedure dbbackup
@BackupSQLScript nvarchar(max),
@SQLBackupFileName nvarchar(max),
@DatabaseName sysname,
@SQLBackupFolder nvarchar(400)
as 
begin
set @DatabaseName = 'SQL Database'
set @SQLBackupFolder = 'D:'
set @SQLBackupFileName = replace(@DatabaseName, ' ', '-') + convert(varchar, getdate(), 112) + '.bak'
set @BackupSQLScript = 'BACKUP DATABASE [' + @DatabaseName + ']
TO DISK = ''' + @SQLBackupFolder + @SQLBackupFileName + ''''
print @BackupSQLScript
exec sp_executesql @BackupSQLScript
end

只是我从控制器调用此存储过程。

首先创建一个具有空主体的类,但 .Net Core 可能会抱怨该类没有主键,因此您可以添加一个用[Key]装饰的属性

public class simple {
[Key]
public int nothing {get; set;}
}

然后在 dbContext 类中将其添加到 DbSet 声明中

public virtual DbSet<simple> Simple { get; set; }

然后在您的控制器中,您只需执行此操作

public IActionResult SimpleProcedure()
{
var q = dbcontext.Simple.FromSql("exec dbBackup");
return OK(q);
}

最新更新