我的任务是创建一个网站,允许我们的各种大客户登录我们的网站并点击我们的各个页面以查看基于他们的销售额的分析数据。
有没有人知道基于用户处理多个数据库的最佳方式?假设我们有 3 个大客户,设计决策已经做出,每个大客户都有自己的数据库。
如果来自 clientA 的用户登录到我们的系统,他们应该看到他们公司的分析,并且模型应该从 clientA 的数据上下文中提取。同样,如果有人登录并且他们与数据库中的 clientB 相关联,那么他们需要从该数据上下文中提取数据。
如果可以的话,我希望有一个用 LINQ 编写的数据访问层类,并有一些方法可以在用户登录时将关联的 DataContext 传递给该用户。谁能想出一个合适的或干净的方法来做到这一点?
最佳答案
如果所有数据库的模式都相同,那么它就非常简单。数据上下文有一个重载,它接受一个连接字符串。只需将各种连接字符串存储在某个集中位置(数据库、XML、资源等),然后使用该连接字符串创建一个数据上下文,无论连接的是谁,您都可以使用它。
关于c# - 基于当前登录的用户使用 LINQ 处理不同的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/954304/