我可能在这里有点不知所措--但希望有人能给我指明正确的方向。
使用SubSonic 2的最新源文件-我需要能够根据用户处理特定请求的CONNECTIONSTRING。
我认为我可以将DefaultConnectionString修改为DataProvider.cs -但当调用该属性时,HttpContext.Current似乎总是为空(即使是通过http请求)。
SubSonic什么时候调用的?我假设它处于页面生命周期不存在的时刻,因此HTTPCONTEXT/配置文件数据总是丢失。
有什么办法可以解决这个问题吗?基本上我有几个相同的结构数据库,我希望访问使用SubSonic (相同的结构),我想选择数据库来使用基于当前用户的配置文件,有什么建议吗?
发布于 2009-07-27 17:03:22
可以在配置中指定多个提供程序,然后选择要在运行时使用的提供程序。有关如何操作的详细信息,请参阅以下问题:
发布于 2009-07-27 18:57:40
如果您依赖多个提供程序,web.config仍然不能帮助您在运行时附加到新数据库,因为您将对连接字符串进行硬编码。对于windows窗体应用程序,切换连接字符串非常容易。对于web应用程序,您必须非常确定同时进行的web会话只能看到分配给它们的数据库。ss2x中有很多静态特性使得这一点并不容易。
这在前面已经介绍过了,你可以用它作为谷歌搜索:"shareddbconnectionscope site:http://subsonicproject.com“
许多旧的论坛讨论和代码示例现在都消失了。
文档中有一些信息。http://www.subsonicproject.com/docs/3.0_Multiple_Databases
我认为这是一个有趣的帖子。大多数ORM并不能很好地处理多个数据库:Am I the only one that queries more than one database?
https://stackoverflow.com/questions/1188107
复制相似问题