У меня есть конечная точка отдыха, которая выглядит как ниже.Теперь, основываясь на имени источника отчетов, я хочу выполнить эту хранимую процедуру.Существует 40 таких хранимых процедур, и я не хочу создавать классы сущностей для каждой из них.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BAService.Dtos
{
class BARequestDTO
{
public int ReportID { get; set; }
public string ReportName { get; set; }
public DateTime? AsOfDate { get; set; }
public string ReportSource { get; set; }
}
}
Это контроллер:
[HttpPost]
[Route("BAReportRequest")]
public string BAReportRequest(BARequestDTO dto)
{
try
{
var test = _bIReportRepositoryBA.RunReport(dto);
}
catch (Exception ex)
{
_LogService.Error(string.Format("Unable to save data dictionary"), ex);
}
return test;
}
Единственный известный мне способ выполнения хранимой процедуры - вызвать ее, как показано ниже.При таком подходе мне нужно будет создать 40 новых объектов-сущностей, которые смогут получать результат из базы данных.Я ленивый и ищу общий способ выполнения хранимой процедуры и получения результата в json без создания объекта сущности для каждой хранимой процедуры.
public List<EmployerDashboardDetailsDto> RunReport(BIReportDto dto)
{
return _DBContext.Database
.SqlQuery<usp_EmployerDashboardStatistics>("report.usp_Report1 @exchangeID", new SqlParameter("@exchangeID", dto.ID))
.ToList();
}