Непараметрические переменные SQL с MySql Connector / Net и Dapper?

Приведенный ниже код генерирует следующую ошибку:

Параметр '@ID' должен быть определен.

Я что-то делаю неправильно или нельзя использовать в запросе SQL с MySQL переменные, которые не являются параметрами Dapper?

В этом примере @Slug является параметром Dapper, а @ID - нет. Я использую MySQL, поэтому мне не нужно ОПРЕДЕЛЕНИЕ @ID - он определяется при первом использовании.

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();
}
7
задан Mike Gleason 10 February 2012 в 01:27
поделиться