数据库连接到多租户应用程序?我正在创建一个多租户asp.net应用程序。我在单独的MSSQL数据库或模式之间做出决定。但是,我找不到任何关于如何动态更改数据库(理想情况下)或用户帐户的信息,具体取决于用户应连接到哪个帐户。我很可能会有一个基表来定义用户应该连接到哪个数据库。使用LinqtoSQL执行此操作非常简单,但我并没有在任何地方都使用Linq,因为表非常动态并且模式很容易经常更改。最好的方法是什么?我很高兴看到使用架构,但我不希望它变得非常混乱,但我也需要做一个类似的方法,但以某种方式以相同的方式模拟该用户以获取默认架构。我知道您可以动态更改web.config连接字符串,但我试过了,它实际上更改了文件内容,这也刷新了应用程序池,并导致了很多其他问题。谢谢如果您为多个租户设置了多个数据库,则可以基于租户创建连接字符串。您只需向将连接字符串作为输入的数据库上下文构造函数添加一个重载:根据租户检测策略重载并在连接字符串中注入适当的用户名和密码。例如,当您的连接字符串如下所示时:varconnectionTemplate=@"metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;"+@"provider=System.Data.SqlClient;"+@"提供者连接字符串=""数据源={0};"+@"初始目录={1};"+@"坚持安全信息=真;"+@"用户id={2};"+@"密码={3};"+@"MultipleActiveResultSets=True;App=EntityFramework""";字符串连接=string.Format(connectionTemplate,@"(localdb)v11.0",@"TestDB",@"user1",@"password1");vardb=newSampleDbEntities(连接);注:以上为C#学习教程:Connectingtoadatabaseforamulti-tenantapplication?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
