我从数据库创建了一个EDMX文件:
internal partial class LocalBDD : DbContext
{
public LocalBDD() : base("name=LocalBDD")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<C__RefactorLog> C__RefactorLog { get; set; }
}
如果我将连接字符串存储在中App.config
,则可以正常工作,但是我需要对敏感信息进行加密,因此我试图以这种方式从上下文更改连接:
LocalBDD _localBDD;
_localBDD = new LocalBDD("my new connStr");
但是我明白了
LocalBDD不包含带有1个参数的构造函数
这段代码是由ADO.NET实体数据模型助理生成的,如果我对其进行编辑以添加一个带有1个参数的构造函数,则在项目重新编译时,更改将丢失。
如何在运行时更改DbContext的连接字符串?
提前致谢
我强烈建议您阅读一些有关类和构造函数的基本C#教程,以帮助您了解所收到的错误。
您的LocalBDD
类构造函数只接受一个参数。如果希望能够传递连接字符串信息,则需要扩展当前的构造函数或使用字符串参数添加其他构造函数:
public LocalBDD()
: base("name=LocalBDD")
{
}
public LocalBDD(string connectionString)
: base(connectionString)
{
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句