我有一个基于我的演示数据库的EntityFramework模型。
我希望包括用于暂存和生产的连接字符串,然后在我的控制台App中提示用户查看他们希望在哪个数据库上执行操作。
当我被提示设置EF.edmx文件时,我只是选择将连接字符串存储在app.config文件中。我看到了一个链接,用于在初始化EntityFramework上下文时更改它的连接字符串here。
然而,当我存储到我的暂存数据库的另一个连接时,我得到一个错误“关键字不支持:‘元数据’”
因此,我去掉了连接字符串,不包括EntityFramework类型的参数,例如metadata=res://*/MyDBItems.csdl|res://*/MyDBItems.ssdl blah blah,并使用了一个非常简单的数据库连接字符串。
data source=myDB;initial catalog=myDB;user id=myUser;password=myPass;MultipleActiveResultSets=True;
现在我的上下文是实例化的,但是当我到达一个查询时,我会得到另一个错误:
使用用于数据库优先和模型优先开发的T4模板生成的代码如果在代码优先模式中使用,可能无法正常工作。若要继续使用数据库优先或模型优先,请确保在执行应用程序的配置文件中指定了实体框架连接字符串。要使用这些类,首先从Database或Model生成,代码首先使用属性或DbModelBuilder API添加任何附加配置,然后删除抛出此异常的代码。
如何使用实体框架5在不同的数据库之间切换,谢谢!
发布于 2013-11-18 16:17:39
忘了我有it....what了.我在Context.cs文件中做了第二个构造函数
public MyContext(string dbModel) : base("name="+dbModel) {
}然后,在我的app.config中,我有了演示的各种设置,临时和生产数据库connections....this采用了完整的实体框架连接字符串。我认为我提供的链接是代码优先的,但我首先使用的是数据库。
https://stackoverflow.com/questions/20052132
复制相似问题