多租户系统 - 扩展多租户行为到 Northwind

优质
小牛编辑
133浏览
2023-12-01

由于我们现在有一个行为处理仓储的详细信息,我们只需在行(rows)实现 IMultiTenantRow 接口并添加 TenantId 属性。

SupplierRow.cs 开始:

  1. namespace MultiTenancy.Northwind.Entities
  2. {
  3. //...
  4. public sealed class SupplierRow : Row,
  5. IIdRow, INameRow, IMultiTenantRow
  6. {
  7. //...
  8. [Insertable(false), Updatable(false)]
  9. public Int32? TenantId
  10. {
  11. get { return Fields.TenantId[this]; }
  12. set { Fields.TenantId[this] = value; }
  13. }
  14. public Int32Field TenantIdField
  15. {
  16. get { return Fields.TenantId; }
  17. }
  18. //...
  19. public class RowFields : RowFieldsBase
  20. {
  21. //...
  22. public readonly Int32Field TenantId;
  23. }
  24. }
  25. }

当你在 SupplierRow 做这些更改并生成后,你将看到 tenant2 不能在供应商页面看到其他租户的供应商。

现在,在 EmployeeRowCategoryRowCustomerRowShipperRowOrderRowProductRowRegionRowTerritoryRow 重复这些修改。