有没有在配置时使用 Castle Active Record 为表名添加前缀?
[ActiveRecord("Address")]
public class Address : ActiveRecord<Address> {}
我希望创建/引用的实际表是“PRODAddress”或“DEBUGAddress”。有什么我没有看到的内置的吗?
谢谢,
[编辑] 我在下面标记了一般答案,但这里是为 Castle Active Record 实现表前缀的实际代码:
...
ActiveRecordStarter.ModelsCreated += ActiveRecordStarter_ModelsCreated;
ActiveRecordStarter.Initialize(source, typeof(Address));
...
private static void ActiveRecordStarter_ModelsCreated(ActiveRecordModelCollection models, IConfigurationSource source)
{
string tablePrefix = ConfigurationManager.AppSettings["TABLE_PREFIX"];
if (String.IsNullOrEmpty(tablePrefix)) return;
foreach (ActiveRecordModel model in models)
{
model.ActiveRecordAtt.Table = String.Format("{0}{1}", tablePrefix, model.ActiveRecordAtt.Table);
}
}