이 까다로운 쿼리가 null을 반환하는 이유는 무엇입니까?

asp.net-mvc-3 c# dapper mysql

문제

내가 dapper 쿼리 메서드에 전달 오전 및 null 개체를 반환하는 mysql 문이 있습니다. 반환 된 결과를 보관할 POCO 클래스를 만들었습니다. SQL 편집기를 통해 쿼리를 직접 테스트 한 결과를 반환했습니다. 다음은 코드입니다.

public ViewEmail GetViewEmail(string xId, int headerId)
{
    using (IDbConnection connection = new MySqlConnection(_connectionString))
    {
        string sql = "SELECT * FROM ViewEmail " +
                     "WHERE Header_id = @Header_id " +
                     "AND x_id= '@x_id'";

        var viewEmail = connection
            .Query<ViewEmail>(sql, new { Header_id = HeaderId, x_id = xId })
            .SingleOrDefault();

        return viewEmail;
    }
}

수락 된 답변

Prepared Statements를 사용할 때 매개 변수를 ' . ' 로 감쌀 필요가 없습니다. 대신 다음을 시도하십시오.

string sql = "SELECT * FROM ViewEmail " +
             "WHERE Header_id = @Header_id " +
             "AND x_id= @x_id";

문서 보기



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow