如何使用CTP5在运行时更改连接字符串

时间:2012-02-24 09:23:21

标签: c# sql wpf entity-framework

所有 我试图在运行时更改连接字符串,我正在使用CTP5, 当我更改连接字符串并且文件夹为空时EF抛出: 数据库' C:... \ bin \ Debug \ db.mdf'已经存在。选择其他数据库名称。 无法附加文件' C:... \ bin \ Debug \ DB \ db.mdf'作为数据库' DB'。 当文件夹有db.ldf(日志文件)和db.mdf EF抛出相同的异常时

请帮助......

2 个答案:

答案 0 :(得分:1)

您可以更改应用配置并重新加载更改。

        // Open App.Config of executable
        System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

        // Copy the value of new connection string
        config.AppSettings.Settings["ConnectionString"].Value = "New Connection String";

        // Save the configuration file.
        config.Save(ConfigurationSaveMode.Modified);

        // Force a reload of a changed section.
        ConfigurationManager.RefreshSection("appSettings");

答案 1 :(得分:1)

在Entity Framework 4中,您可以创建ObjectContext with a connection string作为构造函数参数。因此,您可以随时自由使用任何连接字符串。如果数据库结构与上下文匹配,那么它会有所帮助:)。