asp.net-mvc - 共享数据的 Multi-Tenancy 应用程序(Asp net mvc + Entity Framework + Sql Server)

标签 asp.net-mvc entity-framework multi-tenant

我正在开发一个非常复杂的 Multi-Tenancy 应用程序架构。

.

3款完全不同的应用

许多客户使用的不仅仅是一种类型的应用程序;有 3 种不同类型的应用程序。

应用程序 A、应用程序 B、应用程序 C

.

每个APP都是 Multi-Tenancy

每个应用程序都有其客户。

应用程序
- 客户 A1
- 客户 A2

应用程序B
- 客户 B1
- 客户 B2

应用程序
- 客户 C​​1
- 客户 C​​2

.

共享信息

许多信息在不同的应用程序之间共享

“客户A1”需要操作或仅查看 拥有的数据“客户C1”

.

问题

考虑到我正在使用 Asp net mvc、EF、Sql Server。
哪个是正确的实现?

一个站点和多个区域?
创建多个站点?
多个数据库?只有一个db?过滤? Sql过滤 View ? ...

一些应用示例?

编辑

和...在哪里放置业务逻辑?

最佳答案

我建议您首先在 .Net 之上构建自己的 Multi-Tenancy 工程堆栈(框架),它将处理 Multi-Tenancy 在租户明智的数据隔离、支持水平扩展、基于租户上下文和用户角色、租户明智的数据模型扩展、租户明智的 UI 定制、基于角色、权限和数据范围强制执行访问限制 - 对于不同的租户等可能有所不同。

业务逻辑可以建立在这个框架之上。这种方法将为您的产品提供强大而强大的工程基础。

另一种选择是购买现成的 Multi-Tenancy 工程堆栈,将其安装在 Visual Studio 上并将其用作开发模板。

关于asp.net-mvc - 共享数据的 Multi-Tenancy 应用程序(Asp net mvc + Entity Framework + Sql Server),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4163889/

相关文章:

asp.net - 将 .aspx 网站转换为 ASP.NET Core

c# - MVC ajax调用如何处理错误响应

asp.net-mvc - 无法设置 SSL 供公众使用。可能的端口问题

c# - Entity Framework 生成的 SQL

api - 同一端点的 Multi-Tenancy 实现

c# - .NET MVC 5 C# - 将可单击图标放置在列标题旁边,用于按姓氏等对页面上的项目列表进行排序?

c# - Razor Foreach 循环不返回所有数据

c# - 如何通过代码根据行的键值选择gridview中的行?

php - 使用 Symfony2 和 Doctrine2 开发 Multi-Tenancy 应用程序的最佳实践

Mysql 复合索引与 tenant_id