sql >> Database >  >> RDS >> PostgreSQL

Hoe aangepaste tabeltypen uit Npgsql en opgeslagen procedures te retourneren?

Het lijkt erop dat ik het bedacht heb. Bleek makkelijker dan ik dacht. Het enige wat ik moest veranderen was de manier waarop de opgeslagen procedure werd aangeroepen vanuit 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;
    }
}

Ik gaf de voorkeur aan de andere manier om de opgeslagen procedure op te roepen, maar dit werkt tenminste!




  1. Vervang eerste instantie NULL of ' ' door een andere waarde - MySQL

  2. Wat is het equivalent van Oracle's REF CURSOR in MySQL bij gebruik van JDBC?

  3. PHP / MySQL-fout bij het opvragen van e-mailadres

  4. Waarom heb ik ORA-00904, zelfs als de kolom aanwezig is?