2016-07-18 1 views
2

동적으로 생성 된 SQL 매개 변수를 dapper로 보냅니다.동적으로 생성 된 SQL 매개 변수를 dapper에 익명 유형으로 전달

나는 일반적으로 수행 날씬한 여러 PARAMS을 보낼 때 다음

 return connection.Query<Customer>(sql.ToString(), 
      new 
      { 
       Status = status, 
       ZipCodes = zipCodes, 
       Types = type 
      }).ToList(); 

을 나는 동적으로 내가 가진 것 키 값 쌍의 목록을 기반으로 이러한 매개 변수를 생성하는 방법을 알아 내야하지만 .

목록을 통해 반복하고 매개 변수를 만들어서 동적으로 dapper로 전달할 수 있기를 원합니다.

+0

'Dictionary '가 필요합니까? 이름과 가치가 있기 때문에? – Shyju

+0

@Shyju Correct. 나는 항상 내 params을 위처럼 더럽혀 보았다. 논리를 기반으로 매개 변수를 전달하려면 어떻게해야합니까? 다른 방법이 있어야합니다. –

+0

어떤 종류의 데이터가 있는지 보여주세요. (질문에 추가하십시오) – Shyju

답변

8

다음은 내가 가지고있는 것을 수정하는 방법입니다. 이 스 니펫에서 Params는 귀하의 사전입니다.

DynamicParameters dbParams = new DynamicParameters(); 
dbParams.AddDynamicParams(params); 
return connection.Query<Customer>(sql.ToString(),dbParams).ToList();