Ich schreibe ein benutzerdefiniertes Modul, das Daten direkt aus der Orchard DB mit einem injizierten IRepository abruft und schiebt.
Das funktioniert gut, bis ich einen Inhaltsteil aktualisieren muss. Ich füge ein Update in meiner Migrationsklasse hinzu und das Update läuft durch (Datenbankschema aktualisiert mit Standardwerten), jedoch kann ich keine der neuen Werte über IRepository aktualisieren. Ich muss in die NHibernate.ISession wechseln, um die Änderungen zu löschen.
Das alles funktioniert gut auf einem neu erstellten Rezept, es ist nur, wenn ich ein Teil ändere. Hier sind die wichtigsten Code-Schnipsel:
%Vor%Wenn ich in diesem Beispiel die zweite Eigenschaft "ProductDescription" hinzufüge, erscheinen nach dem Update die Spalten in der DB, aber ich kann sie nicht aktualisieren, bis ich das Orchard Rezept neu erstellt habe (blat App_Data und neu starte).
Hier ist, wie ich versuche zu aktualisieren:
%Vor%und hier ist der NHibernate "fix":
%Vor%das scheint ein bisschen kludsey ...
Prost.
ps ich laufe immer noch Orchard 1.3.9
pps nach weiteren Tests hat der NHibernate-Fix jetzt aufgehört zu arbeiten, also waren meine ersten Ergebnisse vielleicht ein Ablenkungsmanöver. Es scheint, als würden neue Eigenschaften des Inhaltsteils von NHibernate beim Aktualisieren / Abrufen völlig ignoriert - als ob die Objektdefinition irgendwo zwischengespeichert wäre ...
Wenn Ihre Mappings nicht aktualisiert werden, ist das seltsam. Sie können versuchen, es zu erzwingen, indem Sie die Datei "mappings.bin" im Ordner "app_data" löschen und die Anwendung neu starten. Orchard sollte die Nhibernate-Zuordnungen neu erstellen und als mappings.bin speichern.
Ich bin auf das gleiche Problem gestoßen, und die einzige Möglichkeit, die ich finden kann, ist das Löschen von mappings.bin (ich muss das Modul nicht deaktivieren und wieder aktivieren). In der Tat, das ist die Antwort, die ich von Bertrand bekam, als ich fragte, warum das passierte.
Ich habe dies als Problem bei Ссылка protokolliert. Wenn Sie dies abstimmen könnten, könnten wir es schneller untersuchen.
Dies scheint ein ähnliches Problem zu sein wie das, was ich sehe ... Ich sehe, dass wenn Sie ein Modul aktivieren, es die NHibernate-Zuordnungen ausführt, BEVOR Sie die Migrationen ausführen.
Josh
Tags und Links orchardcms