在使用微风WebAPI控制器工作了几个月之后,我现在要开始一个带有标准WebAPI控制器的新项目(我对它并不感到兴奋,我感觉不能完全没有依靠微风......)
无论如何,我正在尝试在客户端配置breeze并且我遇到了异常:
'无法获取未定义或空引用的属性«jsonResultsAdapter'
以下是我配置breezejs的方法。
微风服务配置
var service = new breeze.DataService({
serviceName: ('http://localhost:52446/api'),
adapterName: 'OData'
});
var manager = new breeze.EntityManager({ dataService: service });
//skip irrelevant code
function search() {
var query = breeze.EntityQuery.from("Mandate");
return manager.executeQuery(query.using(service)).then(function (result) {
}).fail(function (error) {
logger.error(error);
});
}
当我调试breezejs时:
proto.using = function (obj) {
if (!obj) return this;
var eq = this._clone();
processUsing(eq, {
entityManager: null,
dataService: null,
queryOptions: null,
fetchStrategy: function (eq, val) { eq.queryOptions = (eq.queryOptions || new QueryOptions()).using(val) },
mergeStrategy: function (eq, val) { eq.queryOptions = (eq.queryOptions || new QueryOptions()).using(val) },
jsonResultsAdapter: function (eq, val) { eq.dataService = (eq.dataService || new DataService()).using({ jsonResultsAdapter: val }) }
}, obj);
return eq;
};
jsonResultAdapter为null且未设置。
为什么?
答案 0 :(得分:1)
没关系,我通过在创建EntityManager之前添加以下行来使其工作:
breeze.config.initializeAdapterInstances({ dataService: "OData" });
Breeze Team,您能解释一下我为什么需要这样做,因为我已经在DataService中设置了adpaterName:“OData”.....