Dapper Extensions: cambiar el campo de clave principal

dapper

Pregunta

Estamos pensando en cambiar a Dapper de EF. Me gustaría utilizar las Extensiones Dapper para poblar mis entidades como:

UserInstance = conn.Get(UserProfile)(RecordID)

Todas nuestras columnas de clave principal se denominan RecordID pero precedidas por Parent_RecordID. El Get intenta utilizar Parent_RecordID como columna de clave principal, "Si varias propiedades finalizan con Id, las extensiones de Dapper usarán la primera propiedad de Id como clave principal".

¿Cómo puedo cambiar esto para que busque RecordID como mi clave principal solo para cada tabla? Entiendo que puedo crear mi propio asignador para la entidad, pero quiero que este cambio se aplique a todas las tablas (hay 100) y preferiría no crear un asignador para cada una de ellas.

Respuesta popular

¿Has intentado crear una clase de mapeo para la entidad?

public class UserProfileMapper : ClassMapper<UserProfile>
{
    public UserProfileMapper()
    {
    Table("UserProfile");
    Map(f => f.RecordID).Key(KeyType.Identity);
    ...
    }
}

No estoy seguro de si la clase del asignador se usa para obtener.



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