Enforce only single row returned from DataReader

Похоже, я довольно часто пишу это в своем коде:

using (var reader = cmd.ExecuteReader())
{
    if (reader.Read())
    {
        result = new User((int)reader["UserId"], reader["UserName"].ToString());
    }

    if (reader.Read())
    {
        throw new DataException("multiple rows returned from query");
    }
}

Есть ли какой-то встроенный способ сделать это, о котором я не знаю?

14
задан fearofawhackplanet 20 October 2011 в 13:18
поделиться