EF Core 2.2 Вызов хранимой процедуры, возвращающей 0 результатов - PullRequest
1 голос
/ 19 июня 2019

Я не могу получить никаких результатов от своей хранимой процедуры.

Вот код:

public JsonResult SearchBudgetRequests(int BudgetRequestNumber, int FiscalYearId)
{
    var result = _db.Search.FromSql($"EXECUTE spSearchGeneral {0}, {1}, {2}", BudgetRequestNumber, _sessionUser.DepartmentId, FiscalYearId)
                .ToList();

    return Json(result);
}

Я могу проверить, что хранимая процедура возвращает данные:

enter image description here

Контекст:

public DbQuery<Search> Search { get; set; }

Класс модели:

 public partial class Search
 {
        public int BudgetRequestId { get; set; }
        public string BudgetRequestNumber { get; set; }
        public string RequestStatus { get; set; }
        public string CurrentOwner { get; set; }
        public string ContactUser { get; set; }
        public string BudgetDescription { get; set; }
        public string RequestType { get; set; }
        public string CapsUnits { get; set; }
        public string ObjectCategory { get; set; }
        public string RecurringType { get; set; }
        public string CoreType { get; set; }
        public decimal Expenditure { get; set; }
}

Что я делаю не так?Заранее спасибо!

Обновление:

Думайте, что что-то не так с моим форматом хранимой процедуры, когда я отслеживал вызов, запрос также показывает 0 результатов, вот чтосгенерированный запрос выглядит так:

exec sp_executesql N'EXECUTE spSearchGeneral 0, 1, 2',N'@p0 int,@p1 int,@p2 int',@p0=37124,@p1=1,@p2=2015

1 Ответ

2 голосов
/ 19 июня 2019

Вы используете неверная интерполяция здесь

_db.Search.FromSql($"EXECUTE spSearchGeneral {0}, {1}, {2}", BudgetRequestNumber, _sessionUser.DepartmentId, FiscalYearId)

просто удалить $

_db.Search.FromSql("EXECUTE spSearchGeneral {0}, {1}, {2}", BudgetRequestNumber, _sessionUser.DepartmentId, FiscalYearId)

Чтобы правильно использовать интерполяцию строк:

_db.Search.FromSql($"EXECUTE spSearchGeneral {BudgetRequestNumber}, {_sessionUser.DepartmentId}, {FiscalYearId}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...