Прямой запрос к базе данных Orchard CMS
Я признаю, что это осуждается, но если кто-то может меня развеселить, это было бы здорово.
Я хотел бы вызвать данные из модуля фруктового сада, используя строку SQL. Для этого я предполагаю, что мне нужно получить префикс таблицы, если он указан при создании клиента, а также префикс функции для модуля.
Так например.
string tenentPrefix = //Wherever I get it from?
string modulePrefix = //Wherever I get it from?
string sql = string.Format("select * from {0}{1}MyTableName",tenentPrefix, modulePrefix);
//MyTableName obviously being the name of the model
Ваша помощь очень ценится.
1 ответ
Решение
Если вы вводите ShellSettings
тогда вы можете получить доступ DataTablePrefix
в теме. Это отвечает на первую часть. Во второй части, мы надеемся, что вы знаете имя модуля, поэтому его будет легко перевести в имя таблицы, заменив точки подчеркиванием. ShellBuilder.CompositionStrategy
делает это так:
var extensionDescriptor = feature.Descriptor.Extension;
var extensionName = extensionDescriptor.Id.Replace('.', '_');