2013-05-14 43 views
-2

我的应用程序基于实体框架5,并且连接字符串是动态生成的并在应用程序中使用。这工作正常。唯一的问题是如果我不把连接字符串放在app.config文件中,那么它会给出一个错误。 app.config文件应该包含连接字符串。有什么办法,我可以让我的程序不在app.config文件中找到连接字符串。解决方法是我可以把虚拟连接字符串,但我希望它不应该在app.config文件中查找连接字符串。 请帮忙。 !应用程序不应该在app.config文件中查找连接字符串

在此先感谢..

+0

在哪个上下文中,您是否使用连接字符串?是自动使用还是您自己指定使用? – Flipbed 2013-05-14 10:54:00

回答

0

感谢CodeCaster的回复。

我正在这样做。我创建了一个包含静态方法的类,并且在每个DAL类中我只调用此方法,并使用传递的连接字符串创建上下文的实例。

public static myDBEntities getDBContext(String connectionString) { 

     myDBEntities DB = new myDBEntities(); 

     DB.Database.Connection.ConnectionString = connectionString; 

     return DB; 
    } 

我的申请工作正常。没有问题。我的意思是它需要动态分配的连接字符串,但唯一的问题是,如果我从app.config文件中删除连接字符串,然后它给我错误,它期望在app.config中的连接字符串。所以有什么设置或者什么的,这可能导致EDMX不在app.config中找到连接字符串。

您的帮助将不胜感激。 :)

2

的应用程序不看连接字符串,它的图书馆您使用的做到这一点。幸运的是你的问题被标记为实体框架,所以我想你在某处只是实例化一个new DbContext()。如果你能显示出错代码的哪一行代码,那将会很好。

当你搜索“实体框架的DbContext通过连接字符串”网页,你会发现this question其链接到manual地方:

public DbContext(string nameOrConnectionString) 

所以,只要提供你的有效的连接字符串在实例化实体框架上下文(不是它的名称,因为它再次使它看起来在应用程序的配置中)时的构造函数。

相关问题