Dapper로이 쿼리를 빌드 할 수 있습니까?

.net-3.5 c# dapper

문제

가능합니까? 나는 시도했다. 그러나 Query에 도착했을 때, null 참조가 있다고 말했다.

   var builder = new StringBuilder("select * from my table1 where 1 = 1");

if(x==1)
    builder.Append(" and x = @x");

if(y==2)
    builder.Append(" and y = @y");

// when it gets here, it just says null reference

 db.Query<table1>(builder.ToString(), new {x,y});

나는 SqlBuilder가 .net 3.5에서 실행되도록했다. 그러나 이것을 할 때 :

var builder = new SqlBuilder();

var sql = builder.AddTemplate("select * from table /**where**/ /**orderby**/");

 builder.Where("a = @a", new { a = 1 })
        .OrWhere("b = @b", new { b = 2 });

나는 select * from table WHERE a = @a OR ( b = @b ) 예상했다. select * from table WHERE a = @a OR ( b = @b )

그러나 나는 얻었다 :

나는 select * from table WHERE a = @a AND ( b = @b ) 예상했다. select * from table WHERE a = @a AND ( b = @b )

인기 답변

아마도 이것은 이 버그 때문일 것입니다. 시도 된 문제는 2016 년 7 월 31 일에 있었지만이 방법 에는 여전히 문제가 있습니다 . 이 계획은 다음 주요 릴리스에서 수정 될 예정입니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.