动态LINQ上下文

时间:2009-05-06 17:56:36

标签: linq .net-3.5

我正在试图弄清楚如何创建动态上下文,我的意思是我有两个数据库:一个用于测试,一个用于生产。根据我的网站托管位置,我希望我的上下文指向其中一个。所以,在我的web.config中我有:

<add name="Testing_ChannelsEntities" connectionString="removed for brevity" providerName="System.Data.EntityClient" />
<add name="Production_ChannelsEntities" connectionString="removed for brevity" providerName="System.Data.EntityClient" />

请不要因为我为此示例删除了connectionString这一事实而感到困惑。请注意,我在web.config中有测试和生产连接。

所以,这是我的代码隐藏,我希望为测试connectionString创建一个上下文:

using (ChannelsEntities chEntity = new ChannelsEntities("Testing_ChannelsEntities")) {
    // removed the business logic because it's not relevant at all
}

一旦执行命中using语句,我就会收到以下错误:

初始化字符串的格式不符合从索引0开始的规范。

我在这里缺少什么?这应该很容易做到。

3 个答案:

答案 0 :(得分:0)

尝试:

using (ChannelsEntities chEntity = new ChannelsEntities(WebConfigurationManager.ConnectionStrings["Testing_ChannelsEntities"].ConnectionString)) {
    // removed the business logic because it's not relevant at all
}

答案 1 :(得分:0)

我做过类似的事情。试试这个 -

using (ChannelsEntities chEntity = new ChannelsEntities("name=Testing_ChannelsEntities")) {}

答案 2 :(得分:0)

我们将连接字符串放在根web.config中。您可以在虚拟组件中按名称引用连接字符串,它将从您的根web.config继承设置。