Префикс таблицы с использованием Castle Active Record - PullRequest
1 голос
/ 26 февраля 2009

Есть ли способ добавить префикс к именам таблиц во время настройки с помощью Castle Active Record?

[ActiveRecord("Address")]
public class Address : ActiveRecord<Address> {}

Я бы хотел, чтобы созданная / на которую ссылалась фактическая таблица "PRODAddress" или "DEBUGAddress". Есть ли что-то встроенное, чего я не вижу?

Спасибо,

[EDIT] Я отметил общий ответ ниже, но вот фактический код для реализации префиксов таблиц для 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);
    }
}

Ответы [ 2 ]

1 голос
/ 26 февраля 2009
1 голос
/ 26 февраля 2009

Я думаю, вам придется настроить свои INamingStrategy

...