我的应用程序基于实体框架5,连接字符串是动态生成的并在应用程序中使用。这工作正常。唯一的问题是如果我没有在app.config文件中放置连接字符串,那么它会给出错误。 app.config文件应包含连接字符串。有什么办法,我可以让我的进程不在app.config文件中找到连接字符串。解决方法是我可以放置虚拟连接字符串,但我希望它不应该在app.config文件中查找连接字符串。 请帮忙。 !
提前致谢..
答案 0 :(得分:2)
应用程序不会查看连接字符串,而是使用它来执行该操作的库。幸运的是,你的问题被标记为实体框架,所以我想你在某处只是实例化一个new DbContext()
。如果您可以显示错误发生在哪行代码上,那就太好了。
当您在网上搜索“实体框架dbcontext传递连接字符串”时,您会发现this question链接到某处的manual:
public DbContext(string nameOrConnectionString)
因此,在实例化实体框架上下文(而不是其名称时)时,只需将有效的连接字符串提供给构造函数,因为这样可以使其在应用程序的配置中查看。
答案 1 :(得分: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中找到连接字符串。
我们将不胜感激。 :)