public class WXCountInfoContext:DbContext
{
public WXCountInfoContext():base("name=web.config中配置的连接字符串")
{
}
public virtual DbSet<WXCountInfo> WXCountInfo { get; set; }
}
MVC中使用EF,数据库上下文的创建通常是上面这样,那我在程序运行中需要动态更改连接该如何做。public WXCountInfoContext():base("name=web.config中配置的连接字符串")//不这样初始化,要想在运行中更改或新建一个上下文代码怎么写。
请高手稍作指点,本人刚学,谢谢了
DBContext应该有多个构造函数,其中一个是可以传入连接的。
public class WXCountInfoContext:DbContext { public WXCountInfoContext():base("name=web.config中配置的连接字符串") { } public WXCountInfoContext(string NameOrConnectionString) { 此处调用基类构造函数即可。 } public virtual DbSet<WXCountInfo> WXCountInfo { get; set; } }
<add name="ModelEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=MySql.Data.MySqlClient;provider connection string="port=3306;server=localhost;user id=root;password=root;database=qorder"" providerName="System.Data.EntityClient" />
配置文件中的有这三个属性,那我在构造函数中也只能传入的是connectionString吧,providerName怎么设置,
@无才不肖生: providerName可以和connectionString写一起,传入Context吧