我接受这是不赞成的,但如果有人可以幽默我,这将是伟大的。
我想使用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 :(得分:0)
如果您注入ShellSettings
,则可以访问DataTablePrefix
。这回答了第一部分。对于第二部分,希望您知道模块名称,因此通过用下划线替换点来将其转换为表名称应该很容易。 ShellBuilder.CompositionStrategy
这样做:
var extensionDescriptor = feature.Descriptor.Extension;
var extensionName = extensionDescriptor.Id.Replace('.', '_');