Đoạn code dưới đây tạo ra các lỗi sau:Biến không tham số SQL với MySql Connector/Net và Dapper?
Parameter '@ID' must be defined.
Tôi có làm gì sai hay không là nó có thể sử dụng các biến trong truy vấn SQL với MySQL mà không phải là thông số Dapper?
Trong ví dụ này, @Slug là thông số Dapper, nhưng @ID thì không. Tôi đang sử dụng MySQL vì vậy tôi không cần phải DEFINE @ID - nó được định nghĩa trong lần sử dụng đầu tiên.
var sql = @"SELECT @ID := id, slug, Title, Text FROM posts WHERE slug = @Slug; SELECT * FROM comments where postid = @ID;";
using (var connection = GetOpenConnection())
{
var posts = connection.QueryMultiple(sql, new { Slug = slug })
.Map<Post, Comment, int>
(
Post => Post.ID,
Comment => Comment.ID,
(post, comments) => { post.Comments = comments; }
);
return posts.FirstOrDefault();
}
Cảm ơn, tôi vừa gặp lỗi tương tự trước đây. –
Wow, điều đó thực sự đã giúp tôi. Cảm ơn nhiều! – harriyott
Cảm ơn rất nhiều blog rất hữu ích !!! – Rida