Breezejs를 'NoDB'모드로 사용하고 있습니다. 즉, 메타 데이터를 직접 작성합니다. 내가 중 하나로, OData 매개 변수와 바람 쿼리를 만들 때 나는 ID로 필터를 추가 (이 String으로 정의되어 있지만)Breezejs 자동 GUID 구문 분석
new breeze.Predicate('iD', datacontext.breeze.FilterQueryOp.Equals, myId)
var에의 MYID 참으로 GUID 값입니다 말하지만, 내 DB에서 모두 내 서버에 - 사이드 및 클라이언트 측 모델 그것은 문자열 (나는 DB 구조를 변경할 수 없습니다). 내 메타 데이터 모델에서 속성 정의는
dataProperties: {
...
iD: { dataType: DataType.String },
...
}
(나는 속성 이름이 이상한 모양을 알고,하지만 난합니다 (breeze.NamingConvention.camelCase.setAsDefault이 있기 때문에 내 데이터 컨텍스트에)이 구문을 사용해야하고, 어떤 강제 연산자 사이에 정의되지 않은 다음 DB에이 호텔의 이름은 ID 내가 쿼리를 실행하면 내가 WebAPI URL에 해당하는 중 하나로, OData 필터 옵션이 서버 오류로 날 리드
$filter=ID eq guid'65BEB144-5C0C-4481-AC70-5E61FDAA840D'
같은 것을 참조) 대문자로되어 'System.Guid'및 'System.String'을 입력합니다. GUID의 자동 '구문 분석'을 사용하지 않도록 설정하고이를 문자열로 남겨 둘 수있는 방법이 있습니까? 내 webAPI 호출이
$filter=ID eq '65BEB144-5C0C-4481-AC70-5E61FDAA840D'
과 같을 것이다 있도록 나는 일시적으로 바람의 소스 코드 내에서 직접 구문 분석을 제거하여이 문제를 해결 한하지만 난이 솔루션을 좋아하지 않는 한 더 나은이 있다면 나는 기쁠 어떤면에서이 행동을 매개 변수화하는 것. 나는 Breeze의 공식 웹 사이트에서 이것에 관해 아무 것도 발견하지 못했습니다.