В Orchard CMS, что является лучшим способом получить полное имя таблицы? Я хочу выполнить пользовательский SQL-запрос (поэтому не используя IRepository<T>
), но для этого потребуется полное имя таблицы. Я знаю, что могу использовать SchemaBuilder.TableDbName
, но для создания SchemaBuilder мне также нужен IDataMigrationInterpreter, featurePrefix и formatPrefix. Где я их получу? IDataMigrationInterpreter я могу получить через механизм инъекции зависимостей Orchard, но где я могу получить префиксы, зная, что я разрабатываю модуль и поэтому не могу жестко закодировать префиксы.Получить полное имя tabl для пользовательского запроса sql в Orchard CMS
3
A
ответ
2
Префикс таблицы арендатора (если есть) доступен в инъекционном объекте ShellSettings
. Имя таблицы, которое появляется после этого, следует простым правилам, чтобы вы могли жестко программировать (поскольку это не динамическое, это зависит только от имени модуля и имени записи).
См. Встроенный модуль Upgrade для примеров, например. Upgrade.Services.UpgradeService
и Upgrade.Controllers.ContentPickerController
.
Пример:
var tablePrefix = _shellSettings.DataTablePrefix;
var featurePrefix = "MyModule_MyFeature";
if (string.IsNullOrWhiteSpace(tablePrefix)) {
return $"{featurePrefix}_{type.Name}";
}
return $"{tablePrefix}_{featurePrefix}_{type.Name}";
Смежные вопросы
- 1. Пароль маскирования пользовательского поля в Orchard CMS
- 2. Ошибка создания пользовательского ContentPart Orchard CMS
- 3. Файл проекта пользовательского модуля Orchard CMS
- 4. Экспорт рабочих процессов | Orchard CMS 1.9.1 для Orchard CMS 1.7
- 5. OrderByDescending в Orchard CMS
- 6. Форма формы формы сообщения для пользовательского контроллера в Orchard CMS
- 7. Размещение пользовательского модуля в определенной зоне в Orchard CMS
- 8. Orchard CMS Проекция Строка запроса С Taxonomies
- 9. Подзаголовки Orchard CMS IContentQuery?
- 10. Orchard CMS пользовательское членство
- 11. NHibernate.Hql.Ast.ANTLR.QuerySyntaxException в Orchard CMS
- 12. Получить ссылку на PartialView в Orchard CMS
- 13. HttpRequestValidationException в Orchard CMS
- 14. Orchard CMS on Mono
- 15. Получить полное имя таблиц SQL Server
- 16. Сайт Orchard CMS Mobile
- 17. булевых токены в Orchard CMS
- 18. Ограничение пользовательского маршрута в Orchard CMS не работает
- 19. Парфюмерные миграции Orchard CMS для нескольких арендаторов
- 20. Список флажков в Orchard CMS
- 21. Intergrating Slack with Orchard CMS
- 22. Галерея изображений в Orchard CMS
- 23. Ошибка установки системы Orchard CMS?
- 24. Видео YouTube в Orchard CMS
- 25. процедура для вставки в tabl
- 26. Orchard CMS Размещение деталей
- 27. Orchard CMS - ContentPart Namespacing
- 28. Пользовательские настройки Orchard cms
- 29. ASP.NET MVC Orchard CMS
- 30. Использование альтернатив для Document.cshtml в Orchard CMS
Это, вероятно, следует отметить, что это вообще не хорошая идея, что может привести к хрупкой коде. HQL - гораздо лучший выбор, который позволит абстрагировать эти проблемы с именами таблиц и будет поддерживать ваш код DB-нейтральным. –