[英]Entity Framework Multi-Tenant Architecture With Multiple Databases & Generics
我需要构建一个多租户应用程序。 每个公司都完全共享代码,但每个公司都有自己的数据库。
每家公司都通过传递他们自己的“API 密钥”的 Web API 访问应用程序。 此键用于在主数据库的“GlobalCompanies”表中“查找”公司特定的配置详细信息,该表包含公司特定的详细信息,包括数据库详细信息和完整的连接字符串。
我的目标是建立新客户,只需运行一些脚本来创建新数据库并使用新数据库详细信息更新此“GlobalCompanies”表,一切都会正常运行!
因此,除了可能包含配置详细信息的 master 数据库之外,web.config 文件中没有配置信息。
因此,流程将是:
我发现这篇文章Repository Pattern with Entity Framework 4.1 and Code First它让我深入了解了 Repository 模式的泛型,但我不确定我将如何动态创建和利用不同的 DBContext? (如果即使这是正确的方法)?
我之前使用不同的连接字符串在 ADO.net 上完成了此操作,但理想情况下我想利用实体框架和泛型。
有人可以指出我正确的方向吗? 我找不到这种架构的任何具体例子。
EF 与您使用 ADO.Net 所做的相同。 您只需将不同的连接字符串传递给上下文的构造函数。 (没有参数的默认构造函数将从配置文件中获取连接字符串。)上下文不会关心连接字符串来自哪里 - 配置文件,主数据库,由调用代码构造 - 它只会使用它。
当然,如果连接字符串格式错误,或者指向的数据库不包含预期的表,那么就会出现问题。 但我相信你会期待的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.