我想運行一個查詢與字符串列上的篩選器,但在運行時,一些過濾器值(例如'PO Box 27')導致失敗的查詢。嘗試過濾時,我的查詢失敗並顯示錯誤消息:「字符串」郵政信箱27「不是有效的TimeSpan值。」BreezeJS查詢過濾器字符串是不是一個有效的TimeSpan值
代碼: VAR crmAccountsQuery = EntityQuery 。從( 'crmAccountEFs') 。凡(breeze.Predicate.create( 'ADDRESS1_LINE1', '當量', 'ABC'));
return manager.executeQuery(crmAccountsQuery)
.then(function (data) {
crmAccountsObservable(data.results);
return;
})
.fail(queryFailed);
客戶端上的breeze.js建立就像一個網址:
http://localhost:49800/breeze/BreezeDb/crmAccountEFs?$filter=(Address1_Line1%20eq%20time'PO%20Box%2027')
的時間打字是完全錯誤的。
編輯: 相關:BreezeJS malformed OData query Url when using "startsWith"
嗯......這是一個有趣的想法,但我們儘可能不引入突破性改變。我想知道,如果這不是我們的文檔問題,或者應該將'expectEntityType()'方法添加到查詢中。 –
突破不好。也許一個'fromEntityType'方法?但或許更好,如果資源名稱匹配不是特定的情況,因爲Ajax服務不是。這是通常會在無效的resourceName上引發錯誤的Ajax服務。 – RockResolve
嗯,我們現在有了EntityQuery.toType()方法和/或MetadataStore.setEntityTypeForResourceName。 –