Ignorar propiedad en la propiedad modelo

dapper dapper-extensions dapper-rainbow

Pregunta

¿Cómo puedo ignorar una propiedad en mi modelo usando las extensiones dapper / dapper / dapper rainbow o cualquier

de esas bibliotecas aptas?

Respuesta aceptada

El creador de Dapper Sam Saffron ha abordado este requisito en respuesta a las preguntas de otro SO aquí . Echale un vistazo.

Además, si desea utilizar la biblioteca de Dapper Extensions que Sam ha mencionado en su respuesta, puede obtenerla de Github o de Nuget.

Aquí hay un ejemplo de ignorar propiedades del Proyecto de prueba de la biblioteca.

using System;
using System.Collections.Generic;
using DapperExtensions.Mapper;

namespace DapperExtensions.Test.Data
{
    public class Person
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public DateTime DateCreated { get; set; }
        public bool Active { get; set; }
        public IEnumerable<Phone> Phones { get; private set; }
    }

    public class Phone
    {
        public int Id { get; set; }
        public string Value { get; set; }
    }

    public class PersonMapper : ClassMapper<Person>
    {
        public PersonMapper()
        {
            Table("Person");
            Map(m => m.Phones).Ignore();
            AutoMap();
        }
    }
}

Respuesta popular

Dapper.Contrib tiene soporte incorporado para marcar una columna como computada: agregue ComputedAttribute para permitir el soporte para columnas computadas en Insertar . Así es como funciona:

class MyModel
{
  public string Property1 { get; set; }

  [Computed]
  public int ComputedProperty { get; set; }
}

Las propiedades marcadas con el atributo Computed se ignorarán en las inserciones.



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