¿Puede una consulta Dapper cambiarse a una ObservableCollection?

asp.net-mvc-4 dapper

Pregunta

Estoy tratando de aprender a usar dapper.

Tengo esta clase aquí:

public class Member_Collection : ObservableCollection<Member>
{
}

y tengo este método en mi clase DAL:

    public static Member_Collection SqlSelectAll(string connString)
    {
        Member_Collection  entityToReturn = null;

        using (var conn = new SqlConnection(connString))
        {
            var entityList = conn.Query("Select * From Member");

            entityToReturn = new Member_Collection();

            foreach (var item in entityList)
            {
                entityToReturn.Add(item);
            }
        }

        return entityToReturn;
    }

¿Esto está ahí para que la consulta devuelva un ObservableCollection?

Respuesta aceptada

Conseguirlo para "devolver" un tipo de colección específico sería un caso de agregar un método de extensión personalizado. Si solo desea el tipo de colección observable genérica, entonces:

public static ObservableCollection<T> ToObservable<T>(
    this IEnumerable<T> source)
{
    return new ObservableCollection<T>(source);
}

Tenga en cuenta que devolver una subclase específica es más complicado. Para usar genéricos se requeriría que el que llama especifique ambos argumentos genéricos, lo cual es molesto. Es posible que necesite un método de extensión por tipo de elemento, una vez más, bastante feo



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow