2017-12-24 25 views
2

Dopper 삽입/업데이트에 인라인 SQL이 필요합니까? 나는 Dapper 구현 예제를 봤는데 인라인 SQL을 포함하는 모든 예제처럼 보인다. 인라인 SQL을 사용하지 않는 Dapper 삽입/업데이트 예제를 가르쳐 주시겠습니까? 또는 Dapper 삽입/업데이트에 인라인 SQL이 필요합니까?dapper insert/updates는 인라인 SQL을 필요로합니까?

+1

Dapper는 원시 SQL에서 쿼리를 작성하도록 권장되는 라이브러리입니다. 그래서 네, 당신은 기본적인 CRUD 작업을 포함하는 SQL 쿼리를 작성해야합니다. – poke

+1

"인라인 SQL"이란 정확히 무엇을 의미합니까? SQL 인젝션에 관심이 있습니까? 그렇다면 제대로 (즉, @ 매개 변수를 사용하여) 당신이 걱정하지 않아도됩니다 dapper를 사용하는 경우. –

+1

당신이 원하는 것을 명확히 할 수 있습니까? 저장된 procs를 사용하고 싶다면, 아래에 그에 대한 답이 있습니다. dapper가 CRUD 문을 작성하기를 원하면 dapper.contrib 또는 dapper.rainbow가 이러한 작업을 수행합니다. * core * 라이브러리는 그렇지 않지만 이러한 기능은 dapper를 확장하는 추가 libs를 통해 사용할 수 있습니다. –

답변

1

Dapper는 저장 프로 시저를 실행/쿼리 할 수 ​​있습니다. 당신이

public void ExecuteSP() 
    { 
     SqlConnection connection = new SqlConnection("your connectionstring"); 
     var parameters = new DynamicParameters(new { SequenceName = "SequenceName", UserName = "userName" }); // replace with your actaul params 
     connection.Execute("dbo.YourStoredProcedureName", parameters, commandType: CommandType.StoredProcedure); 
    } 

불행하게도/UPDATE 삽입 SP를 호출 할 경우에, 나는 당신이 인터넷에 찾고있는 많은 예를 찾을 수 없습니다. 내가 발견 한 가장 가까운 위치는 다음과 같습니다. http://dapper-tutorial.net/execute 머리글 아래 예 - 저장 프로 시저 실행. 하지만 내 경험에 의하면 은 string sql = "EXEC Invoice_Insert"; 줄에 필요하지 않습니다.

+2

실제로 명령 유형을 저장 프로 시저로 설정 한 경우 EXEC가 필요하지 않습니다. –