Ho visto QueryMultiple da Dapper doc ufficiale come qui di seguito, è conveniente!può Dapper implementare più inserimenti o aggiornamenti di eliminazione come QueryMultiple?
var sql = @"
select * from Customers where CustomerId = @id
select * from Orders where CustomerId = @id
select * from Returns where CustomerId = @id";
using (var multi = connection.QueryMultiple(sql, new {id=selectedId}))
{
var customer = multi.Read<Customer>().Single();
var orders = multi.Read<Order>().ToList();
var returns = multi.Read<Return>().ToList();
...
}
Ora, quando elimino il record dalla tabella padre, desidero eliminare il record correlato dalla tabella figlio. può Dapper adattarsi? Sembra che come sotto.
var sql = @"delete from tb_role where [email protected]
delete from tb_rolepermission where [email protected]
delete from tb_userrole where [email protected]
";
var param = new { ID=id };
connection.EXECUTEMultiple(sql, param)..........
Qualsiasi aiuto sarà apprezzato!
Come BK. osserva, * qualsiasi * comando SQL può eseguire più operazioni - l'unico significato in 'QueryMultiple' è il modo in cui elabora la griglia dei risultati per ottenere i dati. Non è necessario modificare nulla per eseguire il comando multi-statement - solo "Execute (sql, param)" dovrebbe andare bene. –