c# - 基于当前登录的用户使用 LINQ 处理不同的数据库?

标签 c# asp.net-mvc database linq linq-to-sql

我的任务是创建一个网站,允许我们的各种大客户登录我们的网站并点击我们的各个页面以查看基于他们的销售额的分析数据。

有没有人知道基于用户处理多个数据库的最佳方式?假设我们有 3 个大客户,设计决策已经做出,每个大客户都有自己的数据库。

如果来自 clientA 的用户登录到我们的系统,他们应该看到他们公司的分析,并且模型应该从 clientA 的数据上下文中提取。同样,如果有人登录并且他们与数据库中的 clientB 相关联,那么他们需要从该数据上下文中提取数据。

如果可以的话,我希望有一个用 LINQ 编写的数据访问层类,并有一些方法可以在用户登录时将关联的 DataContext 传递给该用户。谁能想出一个合适的或干净的方法来做到这一点?

最佳答案

如果所有数据库的模式都相同,那么它就非常简单。数据上下文有一个重载,它接受一个连接字符串。只需将各种连接字符串存储在某个集中位置(数据库、XML、资源等),然后使用该连接字符串创建一个数据上下文,无论连接的是谁,您都可以使用它。

关于c# - 基于当前登录的用户使用 LINQ 处理不同的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/954304/

相关文章:

c# - AseDataReader 抛出的 System.NullReferenceException

c# - 必须将对 Bind 的调用分配给模板内控件的属性

C# 是运算符,拆箱的确切行为

asp.net-mvc - 仅从路线数据生成 URL

php - 交易情况的基本模式

c# - 在 Windows 窗体中的文本标签中输入 "&"符号?

asp.net-mvc - MVC4 上的服务栈

asp.net-mvc - 如何以及在何处使用Web API2和MVC 5应用程序

database - oracle 内部连接上的标识符无效

php - 数据库查询优化(MySql)