实体框架5:更改数据库连接

时间:2013-11-18 15:59:32

标签: c# entity-framework entity-framework-5

我根据我的演示数据库创建了一个EntityFramework模型。

我希望包含用于登台和制作的连接字符串,然后在我的控制台应用程序提示中,用户可以查看他们想要执行操作的数据库。

当提示我设置EF.edmx文件时,我只是选择将连接字符串存储在app.config文件中。我在初始化时看到了一个更改EntityFramework Context的Connection字符串的链接here

但是当我将另一个连接存储到我的临时数据库时,出现错误“不支持关键字:'元数据'”

所以我剥离了连接字符串,不包括EntityFramework类型的参数,例如metadata=res://*/MyDBItems.csdl|res://*/MyDBItems.ssdl blah blah 并使用了一个非常简单的数据库连接字符串

data source=myDB;initial catalog=myDB;user id=myUser;password=myPass;MultipleActiveResultSets=True;

现在我的上下文确实是instanciate但是当我得到一个查询时,我得到另一个错误:

  

如果在Code First模式下使用,使用T4模板为Database First和Model First开发生成的代码可能无法正常工作。要继续使用Database First或Model First,请确保在执行应用程序的配置文件中指定了Entity Framework连接字符串。要使用从Database First或Model First生成的这些类,使用Code First添加任何其他配置,使用属性或DbModelBuilder API,然后删除引发此异常的代码。

如何在Entity Framework 5的不同数据库之间切换,谢谢!

1 个答案:

答案 0 :(得分:1)

忘记了我得到了......我做了什么......我在Context.cs文件中做了第二个构造函数

    public MyContext(string dbModel) : base("name="+dbModel) {

    }

然后在我的app.config中我有Demo,Staging&的各种设置。生产数据库连接....这需要完整的entityframework连接字符串。我认为我提供的链接是Code-First,但我使用的是Database First。