Je veux mapper une valeur de colonne à un objet imbriqué.
par exemple dans ma table de base de données j'ai:
Users
(
varchar UserName,
varchar Password,
binary Permitions
)
dans mon code j'ai:
User{string UserName, string Password, Permition Permitions: {...}}
Je veux faire quelque chose comme
db.Query<User>("Select UserName, Password, Permisions PermitionsFromTable
from Users WHERE UserName=@User AND Password =@Password", new { user,
password
}, user =>
{
user.Permitions = new Permition();
user.Permitions.LoadPermitions("PermitionsFromTable");
return user ;
});
c'est possible?
Il y a une surcharge de Query
qui vous permet de spécifier plus d'un type à mapper et un type de résultat et vous pouvez lui indiquer de diviser la colonne, puis vous pouvez combiner les types. Donc, quelque chose comme ça devrait fonctionner pour ce que vous voulez.
db.Query<User, byte[], User>(
queryString,
new { user, password },
splitOn: "PermisionsFromTable",
(user, perm) =>
{
user.Permitions = new Permition();
user.Permitions.LoadPermitions(perm);
return user;
});