C# 根据当前登录的用户使用LINQ处理不同的数据库?
我的任务是创建一个网站,允许我们的各种大型客户登录我们的网站,点击我们的各种页面,查看基于其销售额的分析数据 有人知道基于用户处理多个数据库的最佳方法吗?假设我们有3个大客户,设计决策已经做出,每个大客户都有自己的数据库 如果clientA的用户登录到我们的系统,他们应该会看到他们公司的分析,并且模型应该从clientA的数据上下文中下拉。同样,如果有人登录并且与数据库中的clientB关联,那么他们需要从该数据上下文中提取数据C# 根据当前登录的用户使用LINQ处理不同的数据库?,c#,asp.net-mvc,database,linq,linq-to-sql,C#,Asp.net Mvc,Database,Linq,Linq To Sql,我的任务是创建一个网站,允许我们的各种大型客户登录我们的网站,点击我们的各种页面,查看基于其销售额的分析数据 有人知道基于用户处理多个数据库的最佳方法吗?假设我们有3个大客户,设计决策已经做出,每个大客户都有自己的数据库 如果clientA的用户登录到我们的系统,他们应该会看到他们公司的分析,并且模型应该从clientA的数据上下文中下拉。同样,如果有人登录并且与数据库中的clientB关联,那么他们需要从该数据上下文中提取数据 如果可以,我希望使用LINQ编写一个数据访问层类,并在用户登录时以
如果可以,我希望使用LINQ编写一个数据访问层类,并在用户登录时以某种方式将关联的DataContext传递给该用户。有人能想出一种合适或干净的方法来实现这一点吗?如果模式对于所有数据库都是相同的,那么它就非常简单。datacontext有一个重载,它接受一个连接字符串。只需将各种连接字符串存储在某个集中的位置(数据库、XML、资源等),然后使用该连接字符串创建一个datacontext,无论连接的是谁,都可以使用该连接字符串。所有数据库的模式是否相同?@BFree,就我将执行的查询而言,它们将是相同的。它们最终可能会相差两列,但与我将要运行的LINQ查询无关。@TankMan,您所做的就是所谓的数据库切分。我的问题是如何处理切换datacontext或根据特定用户使用不同的datacontext。我同意BFree。你的轴心点将是连接字符串。@TankMan:都在连接字符串中。如果检测到其他用户已连接,请获取他们的连接字符串,然后使用该连接字符串新建DataContext。