Sto provando a mappare una relazione N-N con dapper usando come DB MySQL. Questo è più o meno il codice.Dapper multi mapping molte a molte relazioni
var query = new StringBuilder();
query.Append("SELECT O.Id, O.Email, O.Status, P.Name FROM Owners AS O");
query.Append(" INNER JOIN OwnerPets OP ON OP.OwnerId = O.Id");
query.Append(" INNER JOIN Pets AS P ON P.Id = OP.PetId");
query.Append(" WHERE O.Status = @Status;");
using (var dbConnection = CreateConnection())
{
return dbConnection.Query<Owner, IEnumerable<Pet>, Owner>(query.ToString(), (owner, pets) =>
{
owner.Pets = pets.ToList();
return Owner;
}, new { Status = status }, splitOn: "OwnerId, PetId");
}
La query funziona bene in un client SQL, ma quando faccio funzionare il codice qui sopra ottengo questa eccezione:. "Quando si utilizza le API multi-mapping assicurarsi di impostare il parametro splitOn se si dispone di chiavi diverse da Id Parametro nome: splitOn "
È persino possibile mappare una relazione NN con una tabella intermedia (OwnerPets)? ... Se sì ... cosa sto facendo male?