2009-11-23 1 views
0

Вот ситуация.Как программировать имя соединения для SubSonic 3

Я использую SubSonic 3 и хотел бы указать во время выполнения, какую строку подключения использовать. Это приложение командной строки и имя строки подключения будут указаны пользователем как аргумент командной строки.

Каков наилучший способ для этого?

ответ

1

Наши поставщики - это просто обертки для строк подключения, поэтому везде, где вы видите «IDataProvider», вы можете создать его с помощью ProviderFactory.GetProvider («CONNECTIONSTRING», «DataProvider»). Я знаю, что это выглядит как много провайдеров :), но последний предназначен для того, чтобы строка подключения работала - в этом случае это строковое значение и должно быть «System.Data.SqlClient» или все, что вы используете.

Это будет работать и с ActiveRecord - Post.SingleOrDefault (MyProvider, x => x.ID = id);

+0

Похоже, существуют две сигнатуры метода. Post.FirstOrDefault (строка ConnectionString, строка ProviderName) и postRecord.Save (поставщик IDataProvider) Так что я, вероятно, создать статический синглтон, которые имеют эти 3 параметры мне нужно, чтобы я мог использовать их в каждом вызов. Было бы неплохо, если бы был способ изменить имя строки соединения глобально, чтобы никто не включал эти параметры в каждый вызов. Спасибо за помощь. – Lance