Я расширяю 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; }
}
Пожалуйста, дайте мне знать, как это исправить.
Спасибо