1

我们正在编写单页应用程序(SPA),其中用户在成功登录后连接到不同的数据库。当用户通过身份验证和授权时,他们的“个人资料”将包含他们可以连接到的 ldatabse id...

我的问题围绕实体框架和 ASP.NET MVC(和 Web API)

  • 是否可以在运行时(用户登录后)使用 EF 连接到不同的数据库。我不能使用 web.config 中的连接字符串,因为它会有所不同......如果可能的话,任何例子都将不胜感激......
  • 由于创建连接是昂贵的操作,我应该考虑任何性能优化吗?我应该在第一个用户登录时尝试为数据库创建一个连接池,还是应该为我预先拥有的每个数据库创建一个池(嗯......)?
4

1 回答 1

0

如果不同的数据库具有相同的结构并且您可以使用相同的模型,那么您应该能够连接到不同的数据库。ObjectContext 和 DbContext 都有构造函数,它接受可以是连接字符串的字符串。请注意,ObjectContext 需要包含工件名称/位置的实体连接字符串。我相信连接会自动汇集。除非测试表明这会导致性能问题,否则我不会尝试在这里进行任何优化。

于 2012-05-12T00:41:29.380 回答