Расширить Abp UserRole - PullRequest
       19

Расширить Abp UserRole

0 голосов
/ 06 ноября 2019

Я расширяю AspNetBoilerplate Пользовательскую сущность еще одним первичным ключом в качестве типа Guid для обработки SqlDataSync по регионам. Я использую код вначале. Поэтому я расширил AbpUser новым классом, добавил один столбец Guid и отметил его как первичный ключ. Так что в моем скрипте миграции есть 2 первичных ключа для пользовательской таблицы. Миграция работает хорошо. Также я обновил все скрипты миграции, где бы AbpUser - Id не использовался как внешний ключ, я добавил несколько столбцов во внешний ключ. Точно так же, как я обновил в UserRole, я расширил UserRole в новом классе, добавил дополнительный столбец для расширенного внешнего ключа AbpUser Guid. Моя миграция работает хорошо, но когда я вставляю роль пользователя через dbcontext, он имеет столбец Discriminator и еще один столбец foreignkey с суффиксом-1. Допустим, в столбце ForeignKey указан UserId, а в запросе вставки есть столбцы Discriminator, UserId1, кроме моего фактического столбца guid расширенного внешнего ключа. Поскольку Discriminator, UserId1 не существует, Sql выбрасывает столбцы, недоступные.

public class CustomUserUser : AbpUser<CustomUserUser>
{
    public Guid CustomId { get; set; }
    public Guid? CustomDeleterUserId { get; set; }
    public Guid? CustomCreatorUserId { get; set; }
    public Guid? CustomLastModifierUserId { get; set; }
}

public class CustomRole : AbpRole<CustomUser>
{

    public CustomRole()
    {
    }

    public CustomRole(int? tenantId, string displayName)
        : base(tenantId, displayName)
    {
    }

    public CustomRole(int? tenantId, string name, string displayName)
        : base(tenantId, name, displayName)
    {

    }
    public Guid? CustomDeleterUserId { get; set; }
    public Guid? CustomCreatorUserId { get; set; }
    public Guid? CustomLastModifierUserId { get; set; }
}

// Класс CustomUserRole:

public class CustomUserRole :UserRole
    {
        public CustomUserRole(){}
        public CustomUserRole(int? tenantId, long userId,Guid customUserId, int roleId):base(tenantId,userId,roleId)
        {
            this.CustomUserId = customUserId;
        }
        protected virtual Guid CustomUserId{ get;set; }
    }

Пожалуйста, дайте мне знать, как это исправить.

Спасибо

...