Динамическое получение результата хранимой процедуры - PullRequest
0 голосов
/ 25 марта 2019

У меня есть конечная точка отдыха, которая выглядит как ниже.Теперь, основываясь на имени источника отчетов, я хочу выполнить эту хранимую процедуру.Существует 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...