メタデータを「contactdto」オブジェクトにマップできるように、「連絡先」オブジェクトからそよ風にメタデータを取得しようとしています。サーバーには、GetContactsMetadata という Web API 関数があります。
[HttpGet]
public IQueryable<Contact> GetContactsMetadata()
{
return _contextProvider.Context.Contacts.Take(1);
}
この例を実行したら、IQueryable やリストを削除すると確信しています。クライアントには次のものがあります
//GetContactsMetadata
var myJsonResultsAdapter = new breeze.JsonResultsAdapter({
name: "GetContactsMetadata",
extractResults: function (json) {
return json.results;
},
visitNode: function (node, parseContext, nodeContext) {
var entityType = normalizeTypeName(node.$type);
var propertyName = nodeContext.propertyName;
var ignore = propertyName && propertyName.substr(0, 1) === "$";
return {
entityType: entityType,
nodeId: node.$id,
nodeRefId: node.$ref,
ignore: ignore
};
}
});
var dataService = new breeze.DataService({
serviceName: 'api/contacts',
jsonResultsAdapter: myJsonResultsAdapter
});
var manager = new breeze.EntityManager({ dataService: dataService });
「normalizeTypeNameが定義されていません」というエラーがクロムで発生し続けます。JsonResultsAdapter を正しく呼び出していますか?