Вставка сущности с TenantId в рамках abp.io - PullRequest
1 голос
/ 08 января 2020

У меня есть объект ниже, который, когда я создаю, вставляет с 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; }
}

1 Ответ

1 голос
/ 09 января 2020

Если вы не наследуете от 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 Framework (abp.io) не ограничивает случай, когда вы можете захотеть создать хост или другую сущность арендатора в пределах области действия арендатора.

Ссылки:

...