2013-04-10 3 views
4

문자열이 EntityQuery로 전달되는 검색 필드에 대한 텍스트 입력이 있습니다. 쿼리에 작은 따옴표가 포함되면 다음과 같은 메시지가 나타납니다.작은 따옴표 또는 큰 따옴표가 포함 된 BreezeJS의 문자열 쿼리 반환 오류

위치 39의 'substringof (O'Malley, FirstName) eq true'에 끝나지 않은 문자열 리터럴이 있습니다. \

var query = breeze.EntityQuery 
       .from("Users") 
       .expand("GroupUsers.Group") 
       .where("lastName", "contains","O'Malley") 
       .skip(skipAmt) 
       .take(pageSize) 
       .inlineCount(true); 

내가 이중 따옴표를 수행하거나 수행하여 작은 따옴표를 탈출 시도했습니다 '와 여전히 오류가 돌아 오면 : 그냥 하드 같은 쿼리를 코딩 할 때

은 심지어 발생합니다. 이는 큰 따옴표로도 비슷하게 발생합니다. 문자열 리터럴 문자를 이스케이프하는 적절한 방법은 무엇입니까?

답변

4

나는 이것을 재현 할 수 없다. 당신은 단순히 그것을 두배로하는 것만으로 도피 할 수 있어야합니다. 예를 들어, 다음 쿼리는 v 1.2.8에 문제없이 작동합니다.

어디에서 '절'으로 쿼리를 단순화하면 여전히 문제가 발생합니까?

+0

나를 위해 작동합니다. 나는 작은 따옴표를 두 배로하여 그것을 벗어나려고 할 때 오해되었다. 이제 쿼리 문자열이 올 때'filterText = filterText.replace (/ '/ g, "' '")'를 실행하십시오. – cobywhite

+1

breeze에서 버그로 간주하면 안됩니까? 나는 그것이 나를 위해 도주를 처리 할 것으로 예상했을 것이다. – larspars

+2

다음 버전 1.4.8에서는이 작업을 정확하게 수행합니다. 약 일주일 후에 나올거야. –

관련 문제