2015-10-06 17 views
5

Tôi đang sử dụng Dapper để gọi một thủ tục lưu trữ trong đó có một tham số bắt buộc @idProjectthông số bắt buộc, Dapper và System.Data.SqlClient.SqlException

đây là đoạn mã của tôi:

using (var c = _connectionWrapper.DbConnection) 
     { 
     var result = c.Query<Xxx>("dbo.xxx_xxxGetPage", new { @idProject = 1 }).AsList(); 
     return result; 
     } 

nên làm việc nhưng nêu một ngoại lệ:

Ngoại lệ loại 'System.Data.SqlClient.SqlException' xảy ra trong System.Data.dll nhưng không được xử lý trong mã người dùng

Thông tin bổ sung: Thủ tục hoặc chức năng 'xxxGetPage' hy vọng tham số '@idProject', không được cung cấp.

Tại sao?

+1

xóa '@' và xem điều đó có hiệu quả hay không. –

Trả lời

3

Tôi nghĩ rằng bạn đang bỏ lỡ những CommandType.

using (var c = _connectionWrapper.DbConnection) 
{ 
    var result = c.Query<Xxx>("dbo.xxx_xxxGetPage", new { idProject = 1 }, commandType: CommandType.StoredProcedure).AsList(); 
    return result; 
} 

Theo mặc định, sử dụng dapper Văn bản.

https://github.com/StackExchange/dapper-dot-net

+0

đúng, xấu của tôi ... Cảm ơn bạn – InferOn

0

thử điều này:

var result = c.Query<Xxx>("dbo.xxx_xxxGetPage", new {1}).AsList(); 
Các vấn đề liên quan