EF Core wywołanie funkcji w PostgreSQL

0

Cześć,
czy da się w EFCore 5 wywołać z poziomu DbContext funkcję znajdującą się na PostgreSql i zwrócić jej wynik? Niestety ktoś zamiast stored procedure, użył function.
Mam funkcję która przyjmuje kilka parametrów i dodaje nowy el. do tabelki i zwraca jego ID, ale nie wiem jak ją wywołać z C#, ExecuteSqlRaw zwraca jedynie ilość wierszy :/

1

Może komuś się przyda ogarnąłem w ten sposób:

public async Task<List<T>> ExecuteSqlCommandAsync<T>(string sql, Func<DbDataReader, T> map)
        {
            List<T> resultList = new List<T>();
            using (DbCommand command = this.Database.GetDbConnection().CreateCommand())
            {
                command.CommandText = sql;
                command.CommandType = System.Data.CommandType.Text;

                await this.Database.OpenConnectionAsync();
                using (DbDataReader result = await command.ExecuteReaderAsync())
                {
                    if (result.HasRows)
                    {
                        while (await result.ReadAsync())
                        {
                            resultList.Add(map(result));
                        }

                        return resultList;
                    }
                }
            }
            return null;
        }

Przykład użycia:

string sql = $"select f_testfunction('Args1', 'Args2')";
List<int> result = await ExecuteSqlCommandAsync<int>(sql, x => (int)x[0]);

1 użytkowników online, w tym zalogowanych: 0, gości: 1