是否可以在每个客户端都有自己的数据库的 Saas 环境中使用 nhibernate 或 EF?即 1000 的 db



nhibernate或entity-framework能够支持1000个数据库吗?

场景:这将是一个Saas应用程序,*,其中每个客户端都获得自己独立的数据库*e。所以10K个客户端,就意味着10K个数据库(他们的域将映射到一个特定的数据库)。

nhibernate能支持这样的设计需求吗?

entity-framework呢?

我认为连接字符串将在begin_request期间为特定客户修改,基于他们自己的域名,将他们映射到他们的特定db。

注意请不要告诉我这是一个糟糕的设计选择,只是把它作为一个要求。

支持mysql也是一个额外的好处,我知道nhibernate有,但不确定EF

NHibernate可以处理这个问题,你需要为每个数据库创建一个会话工厂。

每个会话工厂都有不同的名称/id,每次你连接到数据库,你应该从正确的会话工厂获取nHibernate会话。

另外,构建会话工厂是一个昂贵的过程,所以应该缓存它们。SharpArch可以帮助您创建多个会话工厂和缓存会话工厂。

最新更新