在一个应用程序中使用多个数据

时间:2010-04-12 17:52:51

标签: asp.net-mvc linq-to-sql

我有一个网络应用程序,用于几组彼此没有连接的人。我没有为所有这些数据库使用一个数据库,而是考虑建立单独的数据库。

这将提高查询的速度,使我无需检查用户所属的组。

但是由于我正在使用LINQ to SQL,我的类显然与数据库连接,所以我必须为所有数据库单独DataContexts

那我怎么解决这个问题呢?或者我应该只是不打扰并仅使用一个数据库?

2 个答案:

答案 0 :(得分:3)

如果数据库模式相同,只需更改每个数据库的连接字符串就足够了。您不一定需要创建不同的上下文。

通过查看Stack Overflow上已有的multi-tenancy Asp.NET MVC questions答案,可能会解决您的其他问题。

答案 1 :(得分:1)

  

“我的班级是明确连接的   与数据库“

回答问题的关键在于你的意思。如果你已经硬编码你的应用程序以某种方式依赖于一个特定的数据库,并且所有对象都被硬编码以使用相同的连接字符串创建自己的datacontexts,那么你需要进行大量的重构。

如果使用Repository Pattern集中创建DataContext,那么为一个数据库或另一个数据库有条件地创建DataContext并将其传递给对象只需几行代码。

所以这一切都取决于你如何实现你的上下文。