我正在使用微风来查询客户表。我必须实现一个非常复杂的查询,所以我决定将一个参数传递给该方法并让服务器进行查询。问题是使用BREEZE的TAKE方法,服务器返回的客户列表与服务器返回的顺序不同。
我做了一些测试,当我使用 BREEZE 的 TAKE 方法时,只更改了这个顺序。这是我在服务器和客户端中的一些代码:
//CLIENT
function(searchText,resultArrayObservable, inlineCountObservable){
query = new breeze.EntityQuery("CustomersTextSearch");
.skip(0)
.take(30)
.inlineCount(true)
.withParameters({ '': searchText});
return manager.executeQuery(query).then(function(data){
//The data results are not in the same order as the server resturn.
inlineCountObservable(data.inlineCount);
resultArrayObservable(customerDto.mapToCustomerDtos(data.results));
});
}
//SERVER ASP.NET WEB API
[HttpGet]
public IQueryable<Customer> CustomersTextSearch(string textSearch = "")
{
//Here, customers has the rigth order.
var customers= _breezeMmUow.Customers.GetBySearchText(textSearch, CentreId);
return customers;
}
也许不是BUG,也许我做错了什么。有人可以帮助我吗?
- - - - - - -编辑 - - - - - - -
1.3.2 修复了涉及单个查询的 Breeze/EF 错误,其中“expand”、“orderBy”和“take”执行不正确的排序。
我在微风页面中发现问题已解决,但我有最后一个版本,但它仍然不能很好地与TAKE一起使用。