In Orchard CMS, was ist der beste Weg, um den vollständigen Tabellennamen zu erhalten? Ich möchte eine benutzerdefinierte SQL-Abfrage durchführen (also nicht IRepository<T>
), aber würde den vollständigen Tabellennamen dafür benötigen. Ich weiß, dass ich SchemaBuilder.TableDbName
verwenden kann, aber um den SchemaBuilder zu erstellen, brauche ich auch einen IDataMigrationInterpreter, featurePrefix und formatPrefix. Wo bekomme ich diese? Der IDataMigrationInterpreter kann ich über den Dependency-Injection-Mechanismus von Orchard erhalten, aber woher kann ich die Präfixe bekommen, da ich weiß, dass ich ein Modul entwickle und so die Präfixe nicht fest codieren kann.Erhalten Sie vollständige Tabellenname für benutzerdefinierte SQL-Abfrage in Orchard CMS
3
A
Antwort
2
Das Tabellenpräfix des Mandanten (falls vorhanden) ist im injizierbaren Objekt ShellSettings
verfügbar. Der Tabellenname, der danach kommt, folgt einfachen Regeln, so dass Sie ihn fest codieren können (da dies nicht dynamisch ist, hängt es nur vom Namen des Moduls und des Datensatzes ab).
Siehe das integrierte Upgrade-Modul für Beispiele, z. Upgrade.Services.UpgradeService
und Upgrade.Controllers.ContentPickerController
.
Beispiel:
var tablePrefix = _shellSettings.DataTablePrefix;
var featurePrefix = "MyModule_MyFeature";
if (string.IsNullOrWhiteSpace(tablePrefix)) {
return $"{featurePrefix}_{type.Name}";
}
return $"{tablePrefix}_{featurePrefix}_{type.Name}";
Verwandte Themen
- 1. Orchard für benutzerdefinierte Websites
- 2. Orchard Collaboration in Orchard CMS
- 3. Orchard CMS als Kundenportal - benutzerdefinierte Authentifizierung hinzufügen
- 4. Homepage in Orchard CMS
- 5. Orchard CMS IContentQuery Unterabfragen?
- 6. Checkbox-Liste in Orchard CMS
- 7. Orchard CMS Premium-Themen
- 8. Orchard cms mehrere Bereitstellungsumgebungen
- 9. Orchard CMS - Kompilation anschauen?
- 10. Orchard CMS Datenimport
- 11. Orchard cms Token JSON
- 12. Orchard CMS Duplicate Content Fehler
- 13. Layout für alle Blogposts hinzufügen Orchard CMS
- 14. Bild auf Orchard CMS Menüpunkte
- 15. Orchard CMS Custom Data Importer
- 16. Alle bekannten Orchard CMS-Fallstudien?
- 17. Orchard CMS: Ressourcen erhalten eine 404 (nicht gefunden)
- 18. Orchard CMS - Zähle bestimmte Artikel eines Containerteils
- 19. Titel in Orchard CMS dynamisch hinzufügen
- 20. So verwenden Sie mehrere SQL-Datenbank in Orchard CMS
- 21. Layer-Regel für alle Seiten außer zwei in Orchard CMS
- 22. So entfernen Sie die effektive Berechtigung in Orchard CMS
- 23. Verwenden von Alternativen für Document.cshtml in Orchard CMS
- 24. Wie können Sie Blog-Kommentare in Orchard CMS deaktivieren?
- 25. Orchard CMS Umzug Website zu vermieten
- 26. Orchard CMS theme view für meinen Inhaltstyp erstellen
- 27. Package Orchard CMS-Modul ohne Quellcode
- 28. Orchard CMS für verschiedene Präsentationsschichten, ist das möglich?
- 29. Orchard CMS - Handler aktualisiert die Datenbank nicht
- 30. Versuchen, Drop-Down-Login für Orchard CMS zu erstellen
Wahrscheinlich sollte darauf hingewiesen werden, dass es in der Regel keine gute Idee, die in spröden Code führen würde. HQL ist eine viel bessere Wahl, die diese Tabellennamen Probleme abstrahieren und Ihren Code DB-neutral halten wird. –