Có vẻ như tôi đã tìm ra nó. Hóa ra là dễ dàng hơn tôi nghĩ. Tất cả những gì tôi cần thay đổi là cách gọi thủ tục đã lưu trữ từ 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;
}
}
Tôi thích cách khác để gọi thủ tục được lưu trữ, nhưng ít nhất cách này hoạt động!