我正在使用微风,过滤器不起作用。
var EntityQuery = breeze.EntityQuery;
var manager = configureBreezeManager("xxx");
function configureBreezeManager(param) {
breeze.NamingConvention.camelCase.setAsDefault();
var mgr = new breeze.EntityManager(param);
model.configureMetadataStore(mgr.metadataStore);
return mgr;
}
我的查询
var query = EntityQuery.from('GetStudents').where("Id", "==", "xxx");
return manager.executeQuery(query)
忽略过滤器并返回所有结果。我的学生返回所有学生的智商。
public IQueryable<Students> GetStudents(){
return context.Students;
}
那里有什么东西我做错了或者我应该去其他地方看看吗?
修改 我意识到我的控制器缺少属性[BreezeController]。但是当我包含它时,我发现元数据路径在尝试加载时没有给出错误(下面的错误500)。在控制器上没有此属性的情况下,matadata加载正常,但过滤不起作用。这有关系吗?
"Could not load file or assembly 'System.Web.Http.OData, ... or one of its dependencies. The system cannot find the file specified."
答案 0 :(得分:0)
您的问题可能是您指定了一个&#39; camelCase&#39; namingConvention,但您的查询是针对&#39; Id&#39;而不是&#39; id&#39;。即试试:
var query = EntityQuery.from('GetStudents').where("id", "==", "xxx");
return manager.executeQuery(query)
答案 1 :(得分:0)
我错过了[BreezeController],在添加之后,我收到了错误Could not load file or assembly System.Web.Http.OData, Version=4.0.0.0
,并且能够通过在包管理器中运行Install-Package Microsoft.AspNet.WebApi.OData
来解决它