Javascript breeze错误:无法读取属性“toODataFragment”
我有以下几项建议:Javascript breeze错误:无法读取属性“toODataFragment”,javascript,asp.net-web-api,breeze,Javascript,Asp.net Web Api,Breeze,我有以下几项建议: [BreezeController] public class BreezeController : ApiController { readonly EFContextProvider<MyContext> _ContextProvider = new EFContextProvider<MyContext>(); [HttpGet] public string Metadata() { return
[BreezeController]
public class BreezeController : ApiController
{
readonly EFContextProvider<MyContext> _ContextProvider = new EFContextProvider<MyContext>();
[HttpGet]
public string Metadata()
{
return _ContextProvider.Metadata();
}
....other controllers exposing model types....
[HttpGet]
public IQueryable<Size> Sizes()
{
return _ContextProvider.Context.Sizes;
}
}
所有这些都很好。我想向我的控制器添加另一条路由,该路由在服务器上进行了一些专门的过滤
[HttpGet]
public IQueryable<Size> GetUniqueSizes()
{
return //custom filtering logic here.
}
但是当我这样做时,我在客户端上得到以下错误
TypeError: Cannot read property 'toODataFragment' …localhost:63144/scripts/breeze.debug.js:12728:23)
为什么此路由不起作用?尝试将多个orderBy语句更改为一个
同样,如果您选择了,您的运气可能会更好。错误是在请求到达服务器之前还是之后发生的?在请求到达服务器之前。您能解释一下您是如何从错误消息中得到这一点的吗?幸运猜测-有预感。orderby…orderby。。。没用
var getUniqueSizes = function (sizesObservable, modelId) {
var query = entityQuery.from('GetUniqueSizes').where('modelID', '==', modelId).where('Approved', '==', 'True')
.orderBy('sortOrder').orderBy('size').orderBy('enteredDate');
return manager.executeQuery(query)
.then(querySucceeded);
function querySucceeded(data) {
if (sizesObservable) {
var intialValues = { size: ' Select a Size', sizeID: breeze.core.getUuid(), modelID: modelId };
createNullo(entityNames.size, 'Size', intialValues);
sizesObservable(data.results);
}
log('Retrieved [Sizes] from remote data source', data, false);
}
};
TypeError: Cannot read property 'toODataFragment' …localhost:63144/scripts/breeze.debug.js:12728:23)
.orderBy('sortOrder,size,enteredDate')