Dapper는 QueryMultiple로서 다중 삭제 삽입 또는 업데이트를 구현할 수 있습니까?

dapper

문제

나는 아래의 Dapper 공식 문서에서 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();
   ...
}

이제, 부모 테이블에서 레코드를 삭제할 때 하위 테이블에서 관련 레코드를 삭제하려고합니다. 대퍼가 그것을 맞출 수 있습니까? 다음과 같이 보입니다.

 var sql = @"delete from tb_role where roleid=@ID
                            delete from tb_rolepermission where roleid=@ID
                            delete from tb_userrole where roleid=@ID
        ";
        var param = new { ID=id };

 connection.EXECUTEMultiple(sql, param).......... 

어떤 도움을 주시면 감사하겠습니다!

인기 답변

예, 간단히 connection.Execute를 호출 할 수 있습니다. 이미 수행중인 것처럼 여러 명령을 허용 할 수 있습니다. ExecuteQuery가 SqlCommand에서 허용하는 것과 동일합니다. Dapper가 모두 호출합니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow