1

我在它下面有一个实体,当我创建时,插入TenantId null. 是否需要使用手动CurrentTenant.Id设置?TenantId

public class Hall : AuditedAggregateRoot<Guid>, IMultiTenant
{
    public string Name { get; set; }
    public string Location { get; set; }
    public string Explanation { get; set; }
    public Guid? TenantId { get; set; }
}
4

1 回答 1

1

如果你不继承 from AsyncCrudAppService,那么需要TenantId自己设置。

protected void TryToSetTenantId(TEntity entity)
{
    var tenantId = CurrentTenant.Id;

    if (!tenantId.HasValue)
    {
        return;
    }

    var propertyInfo = entity.GetType().GetProperty(nameof(IMultiTenant.TenantId));

    if (propertyInfo != null && propertyInfo.GetSetMethod() != null)
    {
        propertyInfo.SetValue(entity, tenantId, null);
    }
}

ABP 框架 (abp.io) 不限制您可能希望在租户范围内创建主机或其他租户实体的情况。

参考:

于 2020-01-09T02:38:53.353 回答