我有一个WPF桌面应用程序,它使用实体框架4.2(数据库优先),DbContext,存储库和工作单元模式。我需要在运行时切换底层数据库连接,而不使用app.config文件中的连接字符串。数据库模式保持不变,因此实体类,存储库类型和工作单元配置都将保持不变。目标数据库上的操作是只读的。此上下文类是自动生成的。类声明和构造函数如下所示:
public partial class DxStudioEntityContainer : DbContext {
public DxStudioEntityContainer () : base("name=DxStudioEntityContainer ") { }
...
名称'DxStudioEntityConnection'指向app config中未使用的连接字符串。我的问题是,如何将连接字符串插入DbContext。我试图添加这样的构造函数:
public DxStudioEntityContainer (string databaseConnection) : base(databaseConnection) { }
但是类从不识别第二个构造函数,我不知道为什么。存储库类如下所示:
public class MAssembliesRepository : RepositoryBase<All_MAssemblies>, IEntityRepository<All_MAssemblies> {
private readonly DxStudioEntityConnection _context;
public MAssembliesRepository(DxStudioEntityConnection context) : base(context) { _context = context; }
}
我使用EF的所有经验都使用DbContext,Repositories和工作单元。如果我不得不全力以赴,我不知道从哪里开始。
有什么想法吗?