2016-11-28 4 views
1

Я хотел бы создать DefaultPrinterId свойство (поле) прилагается на UserAuth стол. Это поле DefaultPrinterId является внешним ключом на поле Printer.Id (Printer - это обычная таблица).Каков наилучший способ создания нового поля для UserAuth?

Мой вопрос: Каков наилучший способ создания нового поля для UserAuth и заполнения значения свойства после аутентификации? Должен ли я переопределить AuthUserSession, UserAuth, OrmLiteAuthRepository?

Я немного смущен, даже после прочтения документации.

Спасибо.

ответ

1

вы обычно хотите оставить UserAuth таблицу фиксированной и вместо того, чтобы использовать recommended approach for extending UserAuth is using the extension points available, но вы также можете расширить таблицы USERAUTH для наследуя свой CustomUserAuth таблицу из UserAuth, а затем вместо того, чтобы использовать OrmLiteAuthRepository, создавать пользовательские MyOrmLiteAuthRepository AuthProvider с указанием рабочих мест UserAuth и UserAuthDetails таблиц, которые вы хотите использовать, например:

public class MyOrmLiteAuthRepository 
    : OrmLiteAuthRepository<CustomUserAuth, UserAuthDetails> 
{ 
    public OrmLiteAuthRepository(IDbConnectionFactory dbFactory) : base(dbFactory) {} 

    public OrmLiteAuthRepository(IDbConnectionFactory dbFactory, string namedConnection=null) 
     : base(dbFactory, namedConnection) {} 
} 
Смежные вопросы