Wie, um Werte für die untergeordneten Objekte mithilfe von Dapper ORM?
Ich bin das abrufen von Profilinformationen mit den folgenden:
var profiles = connection.Query<Models.PROFILE>(
"SELECT * FROM PROFILES WHERE ID=@ID",
new { ID = profileID }); //IEnumerable
var profile = profiles.First<Models.PROFILE>();
Das Profil-Objekt enthält andere Sammlungen wie profileImages. Das problem ist, dass die Anzahl der Elemente für jedes Kind-Objekt ist null. Auch ich möchte nur die Daten für die sagen, profileImages.
Gibt es etwas, das gesetzt werden muss, um die Abfrage der child-Objekte, und wenn ja, ist es möglich, anzugeben, welche und wie viele Ebenen?
Habe ich auch schon versucht multimapping:
var profiles = connection.Query<Models.PHOTOS_PERMISSIONS,
Models.PROFILE,
Models.PHOTOS_PERMISSIONS>(sql,
(p1, p2) => { p1.ID = profileID; return p1; },
new { ID = profileID },
splitOn: "OWNER_PROFILESIDFK, ID").AsQueryable();
PHOTOS_PERMISSIONS.OWNER_PROFILESIDFK = PROFILE.ID
Und bekommen die folgende Fehlermeldung:
Wenn Sie den multi-mapping-APIs sicherstellen, dass Sie legen Sie die splitOn param, wenn
Sie haben die Tasten andere als Id-Parameter name: splitOn
Habe ich versucht Abweichungen von dem, was in meinem splitOn text, aber immer noch die gleichen Fehler.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dapper nicht unterstützt, ist eine Eins-Zu-Viele-Zuordnung wie dieser aus der box. Überprüfen Sie heraus diese Frage kann es helfen wenn.
Multi-Mapping, eins-zu-viele
Wenn Ihr PROFILEIMAGES Tisch hat ein FK auf die PROFILE-ID - könntest du Problem 2 Abfragen und verwenden Sie die GridReader.