2017-04-11 8 views
1

ネストされたオブジェクトに列の値をマップするとします。例えばDapper:ネストされたオブジェクトへのカスタムマップの列

私は持っている私のデータベーステーブルに:

私は私のコードで
Users 
(
varchar UserName, 
varchar Password, 
binary Permitions 
) 

User{string UserName, string Password, Permition Permitions: {...}} 

私は

db.Query<User>("Select UserName, Password, Permisions PermitionsFromTable 
from Users WHERE [email protected] AND Password [email protected]", new { user, 
password 
}, user => 
{ 
user.Permitions = new Permition(); 
user.Permitions.LoadPermitions("PermitionsFromTable"); 
return user ; 
}); 

のような何かをしたい、それは可能ですか?

答えて

1

オーバーロードがあります。Queryには、マップする複数のタイプと結果タイプを指定できるようになっており、分割するカラムを指定してタイプを組み合わせることができます。だから、このようなものはあなたが望むもののために働くはずです。

db.Query<User, byte[], User>(
    queryString, 
    new { user, password }, 
    splitOn: "PermisionsFromTable", 
    (user, perm) => 
    { 
     user.Permitions = new Permition(); 
     user.Permitions.LoadPermitions(perm); 
     return user; 
    }); 
関連する問題