Прямые запросы к базе данных 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

Ваша помощь очень ценится.


person Rob White    schedule 12.05.2014    source источник


Ответы (1)


Если вы вводите ShellSettings, вы можете получить доступ к DataTablePrefix на нем. Это отвечает на первую часть. Что касается второй части, надеюсь, вы знаете имя модуля, поэтому его будет легко перевести в имя таблицы, заменив точки символами подчеркивания. ShellBuilder.CompositionStrategy делает это так:

var extensionDescriptor = feature.Descriptor.Extension;
var extensionName = extensionDescriptor.Id.Replace('.', '_');
person Bertrand Le Roy    schedule 12.05.2014