2014-05-12 63 views
0

我同意这样做,但如果有人可以幽默我,这将是伟大的。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 

非常感谢您的帮助。

回答

0

如果注入ShellSettings,那么你可以在它访问DataTablePrefix。这回答了第一部分。对于第二部分,希望你知道模块名称,所以应该很容易将它翻译成表格名称,用下划线代替点。 ShellBuilder.CompositionStrategy是这样做的:

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

2个字...... Bertrand Gold! –