Ich folge SPA von John Papa, entwickelte ich eine Beispielanwendung mit Hottowel, Angular und Breeze.Wie man EntityQuery blockiert, um Metadaten aufzurufen
Auf der Anwendungslast ich Abrufen des MetaDataStore
function fetchMetadataOnPageLoad()
{
var store = manager.metadataStore;
return store.fetchMetadata(serviceName)
.then(gotMetadata)
.catch(handleFail);
}
In dem obigen Schritt wird die Metadaten von dem Server geladen werden.
Dann navigiert ich bis zu einem gewissen Seite und versuchen, die Daten, die durch folgende Abfragemethode
function GetAllUsers()
{
manager = emFactory.newManager();
var query = EntityQuery.from('users');
manager.executeQuery(query)
.then(querySucceeded, _queryFailed);
}`
`
Dann die folgende Ausnahme ich erhalte, da die Abfrage ruft den Server-Metadaten zweimal zu holen, bevor Ausführung, aber ich habe bereits die Metadaten auf dem Pageload abgerufen.
Fehler:
Metadaten Abfrage fehlgeschlagen für: breeze/Breeze/Metadaten. Metadaten können nicht analysiert oder importiert werden: In diesem MetadataStore existiert bereits ein Typ. Serverseitige Fehler gefunden - Weitere Informationen finden Sie in der entityErrors-Auflistung für dieses Objekt.
Gibt es eine Möglichkeit, den Metadatenaufruf während der Ausführung der Abfrage einzuschränken?
Bitte korrigieren Sie mich.
Vielen Dank.
Hari C
Die perfekte Lösung ist. Danke für Ihre Hilfe :) –