Orchard CMS直接数据库查询

时间:2014-05-12 16:47:33

标签: sql orchardcms orchardcms-1.7

我接受这是不赞成的,但如果有人可以幽默我,这将是伟大的。

我想使用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 个答案:

答案 0 :(得分:0)

如果您注入ShellSettings,则可以访问DataTablePrefix。这回答了第一部分。对于第二部分,希望您知道模块名称,因此通过用下划线替换点来将其转换为表名称应该很容易。 ShellBuilder.CompositionStrategy这样做:

var extensionDescriptor = feature.Descriptor.Extension;
var extensionName = extensionDescriptor.Id.Replace('.', '_');