Как получить результаты функции Postgresql с помощью EF Core?C#

Место общения программистов C#
Anonymous
Как получить результаты функции Postgresql с помощью EF Core?

Сообщение Anonymous »

Моя проблема очень, очень, очень проста, но я не могу решить ее с помощью EF Core с использованием ASP.NET Core MVC. Я просто пытаюсь выполнить запрос, используя необработанный SQL с ядром EF, и вернуть набор строк.
У меня есть функция, созданная в моем Postgresql, под названием show() (для целей тестирования)
Изображение

Я создал функция с этим кодом:

Код: Выделить всё

CREATE OR REPLACE FUNCTION public.show()
RETURNS SETOF city
LANGUAGE 'plpgsql'
VOLATILE
PARALLEL UNSAFE
COST 100    ROWS 1000

AS $BODY$
BEGIN
RETURN QUERY SELECT * FROM City;
END;
$BODY$;
У меня есть это в моем коде C#:

Код: Выделить всё

var listOfCities = _context.Database.FromSqlRaw("SELECT public.show()").ToList();
Выдает ошибку в части .FromSqlRaw:

'DatabaseFacade' не содержит определения для 'FromSqlRaw' и не найден
доступный метод расширения 'FromSqlRaw', принимающий первый аргумент
типа 'DatabaseFacade' (вам не хватает директивы using
или ссылки на сборку?)< /p>

-Я не хочу использовать какой-либо DbContext, поскольку это специальный запрос, который может возвращать любой объект из функции.
  • Я знаю, что этого можно добиться, просто используя LINQ _context.Cities.ToList(), но я пытаюсь протестировать и научиться использовать функции, используя необработанные параметры sql с и нет параметры.
Как это решить? можно ли это сделать с помощью ядра EF?

Подробнее здесь: https://stackoverflow.com/questions/689 ... ng-ef-core

Вернуться в «C#»