![](/img/trans.png)
[英]How to use Dependency Injection on a application class in .Net Core for an Entity Framework Pooled Context to achieve multi-tenant implementation?
[英]Entity Framework core - multi tenant application
我正在寻找基于 EF 核心和 Azure SQL 的多租户应用程序。 我不想为每个租户创建单独的数据库。 相反,我想提供前缀表。 例如:
public class Product : BaseEntity
{
[DisplayName("Name")]
[MaxLength(100)]
[Required]
public string Description { get; set; }
[DisplayName("SKU")]
[MaxLength(30)]
[Required]
public string SKU { get; set; }
[DisplayName("Price")]
[Column(TypeName = "decimal(18,4)")]
public decimal Price { get; set; }
}
为每个租户生成一个表:
新租户应该能够注册自己,并且 EF 迁移应该触发他们在数据库中创建的一组表。
我知道这可能是一个长镜头,但是 EF 核心是否可以做到这一点? 我能找到的只是单独数据库的动态连接字符串的示例。
您这样做的方式最终将与每个租户的单独数据库相同或更高。 这通常通过 Customer_ID 字段来完成,这将在行级别将其分开(然后包含在每个查询中)。
否则,您还不如拥有单独的数据库,以便获得更好的分离/隔离等。如果您想通过将客户迁移到不同/更大的环境来扩展客户,那么额外的隔离特别好。
您所说的 model 实际上是两全其美,产生单独数据库的成本,没有数据驱动的多租户的好处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.