SubSonic 3.0 два разных пространства имен баз данных Проблема - PullRequest
0 голосов
/ 01 февраля 2011

У меня простой вопрос, у меня есть две базы данных с одной и той же схемой, одна из них - живая база данных, скажем, DLive, а другая - тестовая площадка, скажем, DTestBed ....

Однако я хочу использовать одно и то же пространство имен базы данныхдля обеих баз данных.Как я могу добиться этого без изменения пространства имен в моем коде?Иногда вам нужно делать сборки для живых и тестовых площадок в один и тот же день!Очень сложно менять большие пространства имен проектов каждый раз, когда вы создаете.

Как я могу просто изменить строку подключения webconfig и сделать это?

Спасибо,

Ответы [ 2 ]

3 голосов
/ 02 февраля 2011

ШАГ 1: Откройте «Setting.ttinclude» из вашего проекта Subsonic.

ШАГ 2: Добавьте новую переменную ниже «const string DatabaseName» ..

const string DatabaseObjectName = "DatabaseObjectName";// This is the object that you use for calling Stored Procedures, Tables and etc... 

вот так;DatabaseObjectNameDB db = new DatabaseObjectNameDB ();

ШАГ 3: Теперь откройте файлы 'ActiveRecord.tt', 'StoredProcedures.tt', 'Context.tt' из вашего проекта Subsonic ..

STEP4: Замените «<# = DatabaseName #>» на «<# = DatabaseObjectName #>» в открытых ранее файлах ...

ШАГ 5: Теперь «Запустите пользовательские инструменты», щелкнув правой кнопкой мыши по вашему дозвуковому проекту...

Вот, пожалуйста ... Проблема решена !!

С уважением, Наим

0 голосов
/ 02 февраля 2011

Вы используете SubSonic2 или три?

С SubSonic 3 это так просто:

var db = new YourProductDB("connectionstringname");
var db = new YourProductDB("Server=localhost;Database=devdb;Uid=root;", "MySql.Data.MySqlClient");

для первой строки вы должны иметь обе строки подключения, определенные в вашем web.config / app.config

...