2009-09-30 2 views
0

이 알고리즘을 도와주세요.linq with SQL

var companies = companyrepository.GetAll().OrderBy(sidx + " " + sord).Skip(pageIndex * pageSize).Take(pageSize); 
string where = ""; 

if (op == "eq") 
    where = field + "=" + data; 
else if (op == "cn") 
    where = field + " LIKE '%"+data+"%'"; ///here lies my problem 

companies = companies.Where(where); 

동적 추가하기위한 곳으로 절 LINQ 쿼리 ... 영업 이익, 필드 및 데이터가 JQuery와 그리드에서 아약스와 함께 모든 문자열입니다.

문제는 Like 연산자를 시도 할 때 오류가 발생한다는 것입니다. equals 연산자를 사용하면 문제가 없습니다.

if (op == "eq") 
    where = field + "=" + data; 
else if (op == "cn") 
    where = field + ".Contains(\"" + data + "\")"; 

내가 내 자신의 데이터에 대한 몇 가지 테스트를 실행, 잘 작동하는 나타납니다

+0

무슨 문제입니까? 이미 DynamicLinq을 사용하고 있습니까? 결과가 잘못 되었습니까? –

+0

예, 나는 동적 linq를 사용하고 있습니다 ... 똑같이 작동하지만 Like 연산자로는 잘 작동하지 않습니다. – ignaciofuentes

+0

"UnknownErrorException"을 제공합니까? 그렇지 않다면 완전한 예외를 게시 할 수 있습니까? –

답변

0

this page을 바탕으로, 다음은 당신을 위해 작동합니다.