私は次のようにプロファイル詳細情報を取得しています:Dapper ORMを使用して子オブジェクトの値を取得する方法は?
var profiles = connection.Query<Models.PROFILE>("SELECT * FROM PROFILES WHERE [email protected]", new { ID = profileID }); // IEnumerable
var profile = profiles.First<Models.PROFILE>();
プロファイルオブジェクトがprofileImagesのような他のコレクションが含まれています。問題は、すべての子オブジェクトのアイテム数がゼロであることです。また、私は、単にprofileImagesのためのデータを取得したいです。
子オブジェクトを照会するために設定する必要があるものがありますか?その場合は、どのレベルを指定できますか?私はまた、multimapping試してみました
:私は私のsplitOnに何のバリエーションを試してみました
When using the multi-mapping APIs ensure you set the splitOn param if you have keys other than Id Parameter name: splitOn
:
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
と、次のエラーを取得しますテキストが、同じエラーが発生します。
ニース。私は実際には、すべての1 .. *マッピングを返すよりもこのように好きです。複雑なオブジェクトが膨らんでしまう可能性があります。確かに彼らは多くの情報を持っていますが、必要ではないものもあります。このようにして、私はデータを必要とする子テーブルを明示的に要求できます。ありがとう。 – ElHaix