Как вернуть ноль из запроса Dapper вместо значения по умолчанию (T )?

Я использую Dapper для некоторых -вызовов базы данных только для чтения через хранимую процедуру. У меня есть запрос, который либо вернет 1 строку, либо ничего.

Я использую Dapper вот так:

using (var conn = new SqlConnection(ConnectionString))
{
    conn.Open();

    return conn.Query("API.GetCaseOfficer", 
        new { Reference = reference }, 
        commandType: CommandType.StoredProcedure).FirstOrDefault();
}

Возвращенный объект CaseOfficer выглядит следующим образом:

public class CaseOfficer
{
    public string Title { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }
    public string Telephone { get; set; }
}

Затем он возвращается через приложение веб-API ASP.NET в виде JSON.

Когда хранимая процедура возвращает результат, я получаю следующее:

{
    title: "Mr",
    firstName: "Case",
    lastName: "Officer",
    email: "test@example.com",
    telephone: "01234 567890"
}

Но когда он ничего не возвращает, я получаю:

{
    title: null,
    firstName: null,
    lastName: null,
    email: null,
    telephone: null
}

Как я могу заставить Dapper возвращать null (, чтобы я мог проверить и ответить с помощью 404 ), а не по умолчанию (CaseOfficer )?

7
задан James Simm 30 July 2012 в 11:29
поделиться