Выполните вызов функции FromSqlInterpolated в контексте схемы, отличной от схемы по умолчанию

#postgresql #entity-framework-core

#postgresql #сущность-структура-ядро

Вопрос:

У меня есть база данных postgresql с несколькими схемами (давайте назовем их schema1 (по умолчанию), schema2, schema3), и я хочу вызвать функцию в контексте схемы, отличной от схемы по умолчанию.

Так, например, у меня есть таблица (на схеме 2):

 CREATE TABLE company(  id INT PRIMARY KEY NOT NULL,  name TEXT NOT NULL );  

и функция:

 create or replace function get_all_companies ()  returns table ( id int, name text )  language plpgsql as $ begin  return query   select * from company; end;$  

но вызов запроса выглядит так:

 _context.Company.FromSqlInterpolated($"SELECT * FROM get_all_companies()").ToListAsync();  

приводит к ошибке, говоря, что get_all_companies этого не существует. Вызов функции schema2.get_all_companies() приводит к relation "postcodes" does not exist ошибке.

Я установил контекст с помощью builder.HasDefaultSchema("schema2"); , но это, похоже, не влияет на контекст, в котором FromSqlInterpolated выполняется вызов. Я чувствую, что упускаю что-то основное, но не могу понять, что именно, с помощью документации и поиска в Google. (Я понимаю, что мог бы также ссылаться на схему в своей функции, но предпочел бы этого избежать)