我只想从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);
}