0

Я новичком в щеголеватом я получаю ошибку, когда я извлечение данных из присоединяемой таблицыЩеголеватой ошибка, когда прибудут Присоединяйтесь между таблицами

var qry = @"SELECT Cities.Id, 
          Cities.Name, 
          Cities.Sort, 
          Countries.Name 
          FROM[dbo].[Cities] 
          JOIN Countries ON Countries.Id = Cities.CountryId"; 

var result = con.Query<Cities, Countries>(qry); 

это сообщение об ошибке

«SqlConnection» не содержит определение «Запрос» и нет метод расширения «Запрос», принимающий первый аргумент типа «SqlConnection» (вы не указали директиву использования или ссылку на сборку?)

Error Image

+1

Вы уверены, что добавили Dapper в качестве ссылки на свой проект? – stefankmitph

+0

Либо Dapper вообще не ссылается, либо вы пропускаете 'using Dapper' в верхней части исходного файла. –

+0

да, я добавил этот оператор (используя Dapper;) – user3903484

ответ

0

Ошибка вызвана неверным вызовом - нет перегрузки, которая принимает два общих аргументы.

Событие хотя Щеголеватый поддерживает multimapping, вызов на самом деле требует три общих аргументов, TFirst, TSecond и TReturn (где TReturn может быть один из двух или еще один тип).

https://github.com/StackExchange/dapper-dot-net#multi-mapping

Пример действительный вызов из документации

var data = connection.Query<Post, User, Post>(sql, (post, user) => { post.Owner = user; return post;}); 

недопустимого Призыв только два общих аргументов дает именно сообщение об ошибке вы получите.

Я думаю, вы либо хотел 3-й перегрузки, которая принимает одного общего рассуждение

Query<TResult>(string sql, Type[] types, Func<object[], TResult> map, ...); 

или 4-го один, который принимает три

Query<TFirst, TSecond, TResult>(string sql, Func<TFirst, TSecond, TResult> map, ...); 

В обоих случаях вы все еще нуждаются в функции карты.