【问题标题】:Entity Framework 5 : changing the database connection实体框架 5:更改数据库连接
【发布时间】:2013-11-18 15:59:32
【问题描述】:

我已经根据我的演示数据库制作了一个 EntityFramework 模型。

我想包含用于暂存和生产的连接字符串,然后在我的控制台应用程序中提示用户查看他们要在哪个数据库上执行操作。

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

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

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

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

现在我的上下文确实实例化了,但是当我进行查询时,我收到另一个错误:

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

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

【问题讨论】:

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


【解决方案1】:

算了,我明白了……我做了什么……我在 Context.cs 文件中创建了第二个构造函数

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

    }

然后在我的 app.config 中,我有 Demo、Staging 和 Production 数据库连接的各种设置......这采用了完整的 entityframework 连接字符串。我认为我提供的链接是针对 Code-First 但我使用的是 Database First。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-21
    • 2013-10-13
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多