2017-05-23 8 views
0

Diese breeze documentation page hat diese Probe eine Kopie eines EntityManager zur Herstellung:Copy Einheiten von einem Breeze EntityManager zu einem anderen EntityManager

function createManager() { 
    // same configuration; no entities in cache. 
    var manager = masterManager.createEmptyCopy(); 

    // ... copy in some entities (e.g.,picklists) from masterManager 

    return manager; 
} 

Ich bin nicht sicher, wie soll ich das „copy in some entities (e.g.,picklists) from masterManager“ Schritt tun.

Ich denke, ich könnte einfach die Entitäten erstellen, als ob sie neu sind. Aber das sind sie nicht, sie sind Auswahllistenwerte, die aus der Datenbank abgefragt wurden.

Ich dachte über den Versuch, Export/Import zu verwenden, aber das scheint wie für die Offline-Arbeit gedacht ist und serialisiert alle Werte zu string. (Das scheint nicht so leistungsfähig zu sein wie das, was ich möchte.)

Gibt es eine "normale" Art und Weise, dass jeder Entitäten zwischen EntityManagers kopiert?

Antwort

1

Ja, Sie kopieren die Entitäten durch Exportieren und Importieren. Für Leistung sollten Sie angeben

  • asString: false, string Serialisierung Overhead zu vermeiden, und
  • includeMetadata: false, da createEmptyCopy() eine EntityManager erstellt, die bereits Metadaten

So hat:

function createManager() { 
    // same configuration; no entities in cache. 
    var manager = masterManager.createEmptyCopy(); 

    var entities = masterManager.exportEntities(null, { asString: false, includeMetadata: false }); 
    manager.importEntities(entities); 

    return manager; 
} 
+0

Dank ! Als weiteren Hinweis habe ich einen Brise Doc gefunden, der dies diskutiert (richtig, wie Sie geantwortet haben): http://breeze.github.io/doc-cool-breezes/import-save-results.html – Vaccano

Verwandte Themen