如何在没有app.config条目的情况下切换数据库连接

时间:2012-03-14 23:05:14

标签: entity-framework entity-framework-4 repository unit-of-work

我有一个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和工作单元。如果我不得不全力以赴,我不知道从哪里开始。

有什么想法吗?

0 个答案:

没有答案