我正在试图弄清楚如何创建动态上下文,我的意思是我有两个数据库:一个用于测试,一个用于生产。根据我的网站托管位置,我希望我的上下文指向其中一个。所以,在我的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开始的规范。
我在这里缺少什么?这应该很容易做到。
答案 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继承设置。