Read One Row
What this page covers#
This page explains SingleAsync<T>.
Basic example#
var user = await db.SingleAsync<User>( "dbo.usp_User_GetById", new MooParams() .AddInt("@UserId", 42));
Behaviour#
SingleAsync<T> behaves like this:
- if no rows are returned, the result is
null - if exactly one row is returned, it is mapped
- if more than one row is returned, MooDb throws
Custom mapper example#
var user = await db.SingleAsync( "dbo.usp_User_GetById", static reader => new User { UserId = reader.GetInt32(reader.GetOrdinal("UserId")), Name = reader.GetString(reader.GetOrdinal("Name")) }, new MooParams() .AddInt("@UserId", 42));