Sql Orchard CMS直接数据库查询

Sql Orchard CMS直接数据库查询,sql,orchardcms,orchardcms-1.7,Sql,Orchardcms,Orchardcms 1.7,我承认这是不赞成的,但如果有人能取笑我,那就太好了 我想使用sql字符串从orchard模块调用数据。为此,我假设在创建租户时需要获取表前缀(如果已指定),还需要获取模块的功能前缀 比如说 string tenentPrefix = //Wherever I get it from? string modulePrefix = //Wherever I get it from? string sql = string.Format("select * from {0}{1}MyTableNam

我承认这是不赞成的,但如果有人能取笑我,那就太好了

我想使用sql字符串从orchard模块调用数据。为此,我假设在创建租户时需要获取表前缀(如果已指定),还需要获取模块的功能前缀

比如说

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

非常感谢您的帮助。

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

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