SubSonic 3.0两个不同的Databases命名空间问题

时间:2011-02-01 12:02:39

标签: database namespaces subsonic schema

我的问题很简单,我有两个具有相同scehema的数据库,一个是实时数据库说DLive,另一个是testbed说DTestBed ....

但是,我想为两个数据库使用相同的数据库命名空间。如何在不改变代码中的命名空间的情况下实现这一目标?有时你需要在同一天为live和testbeds做构建!每次构建时都很难更改大项目命名空间。

如何更改webconfig连接字符串并完成它?

谢谢,

2 个答案:

答案 0 :(得分:3)

第1步: 从您的Subsonic项目中打开'Setting.ttinclude'..

第2步: 在'const string DatabaseName'下面添加新的vairable ..

const string DatabaseObjectName = "DatabaseObjectName";// This is the object that you use for calling Stored Procedures, Tables and etc... 
像这样;     DatabaseObjectNameDB db = new DatabaseObjectNameDB();

第3步: 现在打开您的Subsonic项目中的'ActiveRecord.tt','StoredProcedures.tt','Context.tt'文件..

第4步: 替换'<#= DatabaseName#>'使用'<#= DatabaseObjectName#>'在上面打开的文件......

第5步: 现在,通过Righ-Click您的Subsonic项目“运行自定义工具”...

你去...... 问题解决了!!

此致 纳伊姆

答案 1 :(得分:0)

您使用的是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中定义两个连接字符串