sql >> Databáze >  >> RDS >> PostgreSQL

Jak vrátit vlastní typy tabulek z Npgsql a uložených procedur?

Vypadá to, že jsem na to přišel. Ukázalo se, že je to jednodušší, než jsem si myslel. Vše, co jsem potřeboval změnit, byl způsob volání uložené procedury z C#.

ApplicationUser user;
using (NpgsqlConnection db = new NpgsqlConnection(this.connectionString))
{
    db.Open();
    using (NpgsqlCommand cmd = new NpgsqlCommand("SELECT find_by_id(@user_id);", db))
    {
        cmd.Parameters.AddWithValue("user_id", userId);
        object result = cmd.ExecuteScalar();
        user = result == DBNull.Value ? null : (ApplicationUser)result;
    }
}

Preferoval jsem jiný způsob vyvolání uložené procedury, ale alespoň toto funguje!




  1. Uložená procedura s názvem tabulky jako parametrem

  2. Jak zjistit dotaz, který drží zámek v Postgres?

  3. Podporuje PLV8 volání http na jiné servery?

  4. stránkování a filtrování na velmi velké tabulce v postgresql (stránkování sady klíčů?)