在实体框架的应用程序属性中使用连接字符串

时间:2014-08-13 13:46:09

标签: c# entity-framework dataset connection-string

我已经在我的C#.NET应用程序中使用DataSets和TableAdapter一段时间了,我正在考虑切换到Entity Framework。像许多公司一样,我的公司使用开发服务器,测试服务器和生产服务器。使用DataSet,我可以通过编辑Project -> [project name here] Properties... -> Settings -> Connection string下的连接字符串并编辑服务器信息来更改服务器。从我能够推断的有关Entity Framework的所有内容中,它使用位于 app.config 文件中的更静态的连接字符串。

有没有办法将实体框架附加到应用程序设置中的Connection字符串或使用代码编辑连接?

我在连接到服务器之前编写了以下代码来更改连接字符串,是否可以修改它以使用Entity Framework连接?

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                var connectionStringsSection = (ConnectionStringsSection)config.GetSection("connectionStrings");
                connectionStringsSection.ConnectionStrings[1].ConnectionString = @"server connection goes here";
                config.Save();
                ConfigurationManager.RefreshSection("connectionStrings");

1 个答案:

答案 0 :(得分:0)

DbContext - 负责访问EF中的数据的基类有一个构造函数,它接受一个DbConnection参数,可以设置经典的ConnectionString,你可以用你认为合适的任何方式构建它。 您可以在运行时构建它,或者在app.config中只有一个连接字符串,其中包含从DbContext派生的类的名称

http://msdn.microsoft.com/en-US/library/gg696604(v=vs.113).aspx

<add name="SuperDbContext" connectionString="lala"/>

public class SuperDbContext : DbContext
{
   //code here
}