【发布时间】:2014-03-20 12:06:38
【问题描述】:
我必须为multitenancy 系统实现一个系统,其中有多个(无固定限制)具有相同表结构的数据库或模式。
对于每个请求,都会提供某种数据库/模式 ID(如租户 ID)。 我想做的是根据该 ID 选择数据库或模式,并告诉我的实体框架模型(代码优先)以该特定数据库/模式为目标。 然后系统,一个 WCF 服务,将执行一些查询并等待下一次调用,目标(可能)另一个数据库/模式。 自然地,多个请求可以在不同的线程中同时执行,使用实体对象访问不同的数据库/模式。
我使用的是 SQL Server,租户数量可能在 5 到 50 之间。
有没有办法做到这一点?
顺便说一句,架构和数据库之间的 SQL Server 有区别吗?我知道有 oracle,但我对 SQL Server 还很陌生,还没有完全理解所有的微软术语。
很多问候! 沃尔克
【问题讨论】:
-
一个 [SQL Server] 数据库可以有多个模式。模式为单个数据库中的对象提供逻辑分组,通常用于安全/角色。在谈论“数据库模式”的同时谈论“模式”通常会令人困惑..
标签: .net sql-server wcf entity-framework multi-tenant