Ваша хранимая процедура ioVouchers_sp_SalaryRanks
должна возвращать результат, который может быть сопоставлен с вашей сущностью IoVouchersSalaryRank
Если он возвращает пользовательские результаты, вы должны реализовать его следующим образом:
string query = "EXEC ioVouchers_sp_SalaryRanks";
var ranks = context.Set<CustomModel>().FromSqlRaw(query).ToList();
где CustomModel - это новая сущность, в которой свойства могут быть сопоставлены со столбцами, возвращаемыми вашим SP. Таким образом, если он возвращает только столбец foo с типом string, он будет выглядеть следующим образом:
public class CustomModel
{
public string Foo{ get; set; }
}
Добавьте CustomModel к dbcontext в методе OnModelCreating
modelBuilder.Entity<CustomModel>().HasNoKey();
I есть сообщение в блоге, которое объясняет это, вы можете посмотреть здесь >> Обновление: https://mohamedsahbi.com/2019/05/22/raw-queries-with-entity-framework-core/
: мой блог был связан с EF Core 2.1. Итак, я только что обновил ответ по работе с EF Core3.1. Вы также можете найти репозитории GitHub с образцом для EF Core 3.1 https://github.com/MohamedSahbi/RawQueryWithEFCore/tree/master/SampleWithEFCore/SampleWithEFCore3.1