在EF 6中在运行时更改连接字符串

伊玛

我主要将dbcontext与以下语句一起使用:

using (var context = new MyContext())
{
}

但是我后来不得不添加一个具有更改数据库功能的项目。我发现我可以将dbcontext构造函数更改为:

public MyContext(string connectionstring)
        : base(connectionstring)
{
}

我为连接字符串创建了一个带有属性的类:

public static class DbAccessor
{
    public static string ConnectionStringForContext { get; set; }
}

我在开始时设置了此属性,而我的using语句如下所示:

using (var context = new MyContext(DbAccessor.ConnectionStringForContext) 
{}

它可以工作,但是我的连接字符串现在无处不在,我觉得我不应该使用连接字符串来做到这一点。有更好的方法吗?如果要更改连接字符串,最好的方法是什么?我应该停止使用这些using语句吗?

我已经看到了这个问题:实体框架在运行时更改连接

但是不同之处在于,我有一个有效的解决方案,但我不想到处都有我的连接字符串。如果我在每个using语句中使用了该扩展方法。几乎就像我的解决方案在每个using语句中仅多一行...

标记

您可以在上下文中尝试使用连接字符串的静态工厂方法(或您喜欢的工厂类),如下所示:

public class MyContext : ...
{
    public MyContext(string connectionstring)
        : base(connectionstring)
    {
    }

    public static MyContext Create()
    {
        return new MyContext(DbAccessor.ConnectionStringForContext);
    }
}

然后您可以像这样创建上下文:

using (var context = MyContext.Create())
{
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

EF6在运行时更改连接字符串

来自分类Dev

如何在运行时在EF7 Core中更改连接字符串?

来自分类Dev

SQLite EF6在运行时以编程方式设置连接字符串

来自分类Dev

EF6尝试在运行时创建表,但未进行任何更改

来自分类Dev

Dapper 在运行时更改连接字符串

来自分类Dev

EF Core和LINQ-如何在运行时使用字符串变量构建动态的Where子句?

来自分类Dev

使用EF6在运行时连接到SQL Server-部分类构造函数的问题

来自分类Dev

EF在运行时从Type获取dbset名称

来自分类Dev

在运行时更新EF5模型ConnectionString

来自分类Dev

EF在运行时从Type获取dbset名称

来自分类Dev

在运行时使用连接字符串

来自分类Dev

如何在运行时更改NLog目标的连接字符串?

来自分类Dev

Azure Web服务-在运行时更改数据库连接字符串

来自分类Dev

实体框架-在运行时更改连接字符串(需要解释)

来自分类Dev

Castle和NLog在运行时更改连接字符串

来自分类Dev

在运行时更改连接字符串–这是正确的方法吗?

来自分类Dev

Castle和NLog在运行时更改连接字符串

来自分类Dev

C#在运行时更改自定义连接字符串

来自分类Dev

动态设置EF 6连接字符串

来自分类Dev

动态设置EF 6连接字符串

来自分类Dev

在ASP.NET 5 / EF 6中获取数据库连接字符串

来自分类Dev

Azure中的EF6连接字符串

来自分类Dev

在EF连接字符串中添加WSID

来自分类Dev

EF6-如何在运行时断言哪些列具有并发模式=已修复

来自分类Dev

我有几个EF迁移。如果更改连接字符串并运行数据库更新会怎样?

来自分类Dev

使用连接字符串和精简程序时如何在运行时更改初始目录

来自分类Dev

在EF Core中的运行时创建表

来自分类Dev

如何为EF模型更改连接字符串或传递自定义连接字符串

来自分类Dev

如何在运行时首先使用EF代码从ObjectContext获取实体类型的列表?

Related 相关文章

  1. 1

    EF6在运行时更改连接字符串

  2. 2

    如何在运行时在EF7 Core中更改连接字符串?

  3. 3

    SQLite EF6在运行时以编程方式设置连接字符串

  4. 4

    EF6尝试在运行时创建表,但未进行任何更改

  5. 5

    Dapper 在运行时更改连接字符串

  6. 6

    EF Core和LINQ-如何在运行时使用字符串变量构建动态的Where子句?

  7. 7

    使用EF6在运行时连接到SQL Server-部分类构造函数的问题

  8. 8

    EF在运行时从Type获取dbset名称

  9. 9

    在运行时更新EF5模型ConnectionString

  10. 10

    EF在运行时从Type获取dbset名称

  11. 11

    在运行时使用连接字符串

  12. 12

    如何在运行时更改NLog目标的连接字符串?

  13. 13

    Azure Web服务-在运行时更改数据库连接字符串

  14. 14

    实体框架-在运行时更改连接字符串(需要解释)

  15. 15

    Castle和NLog在运行时更改连接字符串

  16. 16

    在运行时更改连接字符串–这是正确的方法吗?

  17. 17

    Castle和NLog在运行时更改连接字符串

  18. 18

    C#在运行时更改自定义连接字符串

  19. 19

    动态设置EF 6连接字符串

  20. 20

    动态设置EF 6连接字符串

  21. 21

    在ASP.NET 5 / EF 6中获取数据库连接字符串

  22. 22

    Azure中的EF6连接字符串

  23. 23

    在EF连接字符串中添加WSID

  24. 24

    EF6-如何在运行时断言哪些列具有并发模式=已修复

  25. 25

    我有几个EF迁移。如果更改连接字符串并运行数据库更新会怎样?

  26. 26

    使用连接字符串和精简程序时如何在运行时更改初始目录

  27. 27

    在EF Core中的运行时创建表

  28. 28

    如何为EF模型更改连接字符串或传递自定义连接字符串

  29. 29

    如何在运行时首先使用EF代码从ObjectContext获取实体类型的列表?

热门标签

归档