No se puede usar la biblioteca Query with Dapper in Class

asp.net c# class dapper

Pregunta

Soy una abeja muy nueva para Dapper ORM, solo estoy tratando de crear una biblioteca de clases para lógica de negocios con Dapper. Tengo Install the Dapper en la biblioteca de la clase con Nuget. Y puedo ver la referencia en las referencias de Dapper (1.50.2). Ahora escribo el siguiente código, en el cual no puedo acceder a "Query".

namespace ClassLibrary1
{
   public class Class1
   {

    static IDbConnection db2 = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlServerConnString"].ConnectionString);
    public Class1()
    {
    }
    public List<dynamic> GetRecords()
    {
        string query = "select * from contacts";
        return (List<dynamic>)db2.Query<dynamic>(query);

    }
   }
}

Por favor, ayúdame ... y dime qué estoy haciendo mal.

Respuesta aceptada

Debe incluir las extensiones en el espacio de nombres de Dapper . Solo agrega:

using Dapper;

Encima de tu archivo


Respuesta popular

Aparte de eso, una forma más correcta de escribir la clase

namespace ClassLibrary1 {
    using Dapper;

    public class Class1 {
        private static readonly string connectionString = ConfigurationManager.ConnectionStrings["SqlServerConnString"].ConnectionString;

        public Class1() {}

        public List<dynamic> GetRecords() {
            string query = "select * from contacts";
            using (var db = new SqlConnection(connectionString))
                return db.Query<dynamic>(query).AsList();
        }
    }
}

Esto maneja deshacerse del objeto SqlConnection y el método .AsList guarda de encasillado de tipo IEnumerable<> a List<> .



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué