在多个数据库上使用实体框架

悬崖公爵

我正在编写一个薪资系统,该系统将与现有系统集成。原始系统有一个主数据库来处理用户管理和一些全局配置,下面有多个数据库,每个数据库在结构上都是相同的,基本上每个数据库都是一个公司的薪资数据库,所有这些数据库都属于主数据库,因为它属于父数据库公司拥有许多子公司,每个子公司都有自己的人力资源部门。

我想知道的是,是否有任何办法可以基于cookie或存储他们希望连接的公司的另一种方法,基于使用过滤器的输入来动态更改实体框架目标数据库?

这是一个例子:

用户A登录到该站点,该页面加载了该用户有权访问的可用公司,然后用户将选择一个公司,他们在该公司中具有管理特权,他们添加了一名雇员,然后再运行该操作,asp.net将连接字符串切换到适当的数据库,然后添加记录。

菲尔·苏迪

EF6对来自Same上下文的多个数据库访问提供了更好的支持。这是EF5的片段。事先管理数据库初始化程序设置很重要。您可能不想触发任何迁移。即,在此之前使用

Database.SetInitializer(new ContextInitializerNone<MyDbContext>());

但是要回答这个问题:是的,你可以

var conn = GetSqlConn4DbName(dataSource,dbName );
var ctx = new MyDbContext(conn,true);



public DbConnection GetSqlConn4DbName(string dataSource, string dbName) {
        var sqlConnStringBuilder = new SqlConnectionStringBuilder();
        sqlConnStringBuilder.DataSource = String.IsNullOrEmpty(dataSource) ? DefaultDataSource : dataSource;
        sqlConnStringBuilder.IntegratedSecurity = true;
        sqlConnStringBuilder.MultipleActiveResultSets = true;

        var sqlConnFact = new SqlConnectionFactory(sqlConnStringBuilder.ConnectionString);
        var sqlConn = sqlConnFact.CreateConnection(dbName);
        return sqlConn;
    }


 public class ContextInitializerNone<TContext> : IDatabaseInitializer<TContext> where TContext : DbContext
{
    public void InitializeDatabase(TContext context) {  }
}

另请参阅使用迁移,示例代码和动态数据库连接的StackOverflow答案

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在实体框架中使用多个数据库?

来自分类Dev

将实体框架6与多个数据库架构一起使用,但使用一个DBContext

来自分类Dev

实体框架。多个DbContext多个数据库。MySQL的。代码优先

来自分类Dev

如何通过实体框架在数据库中插入更新多个数据

来自分类Dev

实体框架中的一个事务中有多个数据库

来自分类Dev

如何通过一个实体框架动态连接多个数据库?

来自分类Dev

在多个数据库上使用ActiveRecord

来自分类Dev

在多个数据库Springboot +弹簧数据相同的实体

来自分类Dev

Django Rest框架多个数据库

来自分类Dev

Yii PHP框架中的多个数据库连接

来自分类Dev

使用MongoRepository的多个数据库

来自分类Dev

续集:使用多个数据库

来自分类Dev

使用实体框架从一个数据库故障转移到另一个数据库的一般模式?

来自分类Dev

使用实体框架从一个数据库故障转移到另一个数据库的一般模式?

来自分类Dev

使用实体框架从数据库中检索数据

来自分类Dev

还原实体框架使用的本地Sql Server数据库

来自分类Dev

如何使用实体框架从DataGrid更新数据库

来自分类Dev

从数据库搜索并使用实体框架进行排序

来自分类Dev

实体框架数据库调用未使用的结果

来自分类Dev

尝试先使用实体框架代码更新数据库

来自分类Dev

使用实体框架连接数据库时出错

来自分类Dev

使用DTO实体框架,如何更新数据库?

来自分类Dev

使用实体框架的导航属性更新数据库

来自分类Dev

实体框架数据库调用未使用的结果

来自分类Dev

使用实体框架将Null插入数据库

来自分类Dev

如何使用数据库第一实体框架+ Catel

来自分类Dev

尝试先使用实体框架代码更新数据库

来自分类Dev

使用实体框架从 oracle 数据库创建模型

来自分类Dev

使用实体框架从数据库返回结果

Related 相关文章

  1. 1

    如何在实体框架中使用多个数据库?

  2. 2

    将实体框架6与多个数据库架构一起使用,但使用一个DBContext

  3. 3

    实体框架。多个DbContext多个数据库。MySQL的。代码优先

  4. 4

    如何通过实体框架在数据库中插入更新多个数据

  5. 5

    实体框架中的一个事务中有多个数据库

  6. 6

    如何通过一个实体框架动态连接多个数据库?

  7. 7

    在多个数据库上使用ActiveRecord

  8. 8

    在多个数据库Springboot +弹簧数据相同的实体

  9. 9

    Django Rest框架多个数据库

  10. 10

    Yii PHP框架中的多个数据库连接

  11. 11

    使用MongoRepository的多个数据库

  12. 12

    续集:使用多个数据库

  13. 13

    使用实体框架从一个数据库故障转移到另一个数据库的一般模式?

  14. 14

    使用实体框架从一个数据库故障转移到另一个数据库的一般模式?

  15. 15

    使用实体框架从数据库中检索数据

  16. 16

    还原实体框架使用的本地Sql Server数据库

  17. 17

    如何使用实体框架从DataGrid更新数据库

  18. 18

    从数据库搜索并使用实体框架进行排序

  19. 19

    实体框架数据库调用未使用的结果

  20. 20

    尝试先使用实体框架代码更新数据库

  21. 21

    使用实体框架连接数据库时出错

  22. 22

    使用DTO实体框架,如何更新数据库?

  23. 23

    使用实体框架的导航属性更新数据库

  24. 24

    实体框架数据库调用未使用的结果

  25. 25

    使用实体框架将Null插入数据库

  26. 26

    如何使用数据库第一实体框架+ Catel

  27. 27

    尝试先使用实体框架代码更新数据库

  28. 28

    使用实体框架从 oracle 数据库创建模型

  29. 29

    使用实体框架从数据库返回结果

热门标签

归档