¿No funcionará Dapper con miembros que tengan getters / setters personalizados?

.net dapper

Pregunta

Basado en algún código con el que estoy trabajando parece ser el caso. No pude encontrar nada en la documentación apresurada que explícitamente dijera que no funcionaría con los miembros que tienen lógica de obtención / configuración personalizada, pero vi este ejemplo:

public class Dog
{
    public int? Age { get; set; }
    public Guid Id { get; set; }
    public string Name { get; set; }
    public float? Weight { get; set; }

    public int IgnoredProperty { get { return 1; } }  //red flag?
}           

Parece que el hecho de que el miembro que tiene el comportamiento de obtención personalizada tenga el prefijo Ignored puede sugerir que Dapper no intente rellenar estos valores. ¿Es esto cierto? ¿Esto está en la documentación y simplemente lo pasé por alto?

Respuesta aceptada

La razón por la que Dapper ignorará eso es que no tiene un setter . No le importa cómo se implementan sus propiedades internamente, pero necesita un colocador para usar una propiedad (aunque el colocador no tiene que ser público).

También puede usar campos, como un lado.



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