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

问题描述 投票:0回答:1

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

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

但是没有任何东西对我有用。

因为我只想调用存储过程,所以整个功能只能由存储过程完成。

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

这是我的存储过程:

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

仅从控制器调用此存储过程。

c# sql-server stored-procedures asp.net-core-mvc .net-core-2.0
1个回答
0
投票

[首先创建一个带有空主体的类,但是.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);
}
© www.soinside.com 2019 - 2024. All rights reserved.