-2

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

提前致谢..

4

2 回答 2

2

应用程序不查看连接字符串,它是您使用的库。幸运的是,您的问题被标记为实体框架,所以我猜您只是在某个地方实例化了一个new DbContext(). 如果您可以显示错误发生在哪一行代码上,那就太好了。

当您在网上搜索“实体框架 dbcontext 传递连接字符串”时,您会发现这个问题链接到某处的手册:

public DbContext(string nameOrConnectionString)

因此,只需在实例化您的实体框架上下文时将您的有效连接字符串提供给构造函数(不是它的名称,因为它会再次使其在应用程序的配置中显示)。

于 2013-05-14T10:53:53.940 回答
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 中找不到连接字符串。

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

于 2013-05-15T06:09:43.903 回答