如何为多个数据库实现存储库模式

时间:2011-02-17 23:30:27

标签: wcf nhibernate repository s#arp-architecture multiple-databases

我们目前有两个演示项目(经典ASP和ASP.NET,使用“NHibernate最佳实践与ASP.NET”(前身或夏普架构)。我们现在用Silverlight + WCF重写所有经典ASP(也许RIA服务)。

我们有以下数据库架构: *一个全局数据数据库 - 包含用户和项目元信息 *每个项目都有自己的数据库来存储项目特定的信息 - 相同的模式

我们能够破解一点,让多个数据库在ASP.NET中工作,因为“使用ASP.NET的NHibernate最佳实践”使用DAO工厂,我们可以通过hack工具来创建连接字符串 - 基于projectId - 传递到工厂创建相应的NHibernate会话。

对于重写,我们希望使用Sharp架构的存储库模式。但我们无法弄清楚如何做类似的黑客...

感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

查看ncommon framework,它为NHibernate中的多数据库支持提供了一个很好的基础,如blog post中所述。

答案 1 :(得分:1)

我已经攻击了Sharp Architecture,并在my post中为多个数据库重新构建了它。希望它会对你有所帮助。

答案 2 :(得分:0)

无论您使用何种模式,ISessionFactory都会处理连接。使用带有某种形式的命名或可选参数的IoC容器来指定连接字符串。