在ASP.NET Core中为基于架构的多租户动态设置search_path



我正在使用EF Core编写一个新的ASP.NET Core应用程序(.NET Core 3.1(以进行数据库访问。这个应用程序应该与现有的PostgreSQL数据库接口,该数据库为每个租户都有一个PostgreSQL模式。从我目前所读到的内容来看,在.NET Core中通常不会这样做,但由于数据库已经存在,我在这里没有任何选择。我找不到任何关于如何动态切换模式的好信息,多租户数据库访问的文档通常假设每个模式或不同数据库的租户有不同的模型。

所有模式中的表布局都是相同的,因此唯一需要做的就是为每个请求将search_path设置为正确的模式。我不知道如何使用EF Core来做到这一点,我发现的文档只涉及静态或按模型设置模式。

使用EF Core在ASP.NET Core中处理这种多租户设置的正确方法是什么?

就我个人而言,我会实现某种DbContextProvider,它将接受租户的名称并返回DbContext。这个DbContextProvider的实现看起来像是这个问题的公认答案。

相关内容

  • 没有找到相关文章

最新更新