728x90

Postgre DB 에서 C# Dapper 를 이용하여 in 조건을 처리하는 중에 

42601: syntax error at or near “$1″ 

위 에러가 발생되었습니다.

connection.Query<model>("SELECT * FROM table WHERE id in @ids",new { ids = new[] { 1, 2 } });

위처럼 Query 가 되있었는데 Postgre 에서는 Dapper 를 이용한 경우  ANY 를 이용해 in 조건을 처리해야합니다.

connection.Query<model>("SELECT * FROM table WHERE id = ANY (@ids)",new { ids = new[] { 1, 2 } });

또은 아래처럼 처리합니다.

connection.Query<BookItem>("SELECT * FROM book WHERE id in (@ids1,@ids2)", new { ids1 = 1, ids2 = 2 });

 

728x90
Posted by kjun.kr
,