ServiceStack 中的 UserAuth 类型

UserAuth type in ServiceStack

我不明白:

1)为什么Table"ApiKey"中的字段"UserAuthId"的类型是varchar 并且在其他 tables 中,类型为 int.

我想在 UserAut table 和 ApiKey 之间创建一个关系,就像我在 UserAuth=>UserAuthRoleUserAuth=> 之间所做的那样UserAuthDetails

2) 为什么 ApiKey table 中的字段 UserAuthId 可以为空。

3) 为什么 RefId 和 RefIdStr 字段放在每个 table?

RDBMS Auth Repository 使用的 UserAuth Table 有一个 int 主键,但 AuthUserSession has a string UserAuthId 因为它可以使用不同的数据从其他数据源填充他们的主键的类型。 ApiKeyAuthProvider ApiKey table 必须能够使用其他来源,因此也使用字符串 UserAuthId

RefIdRefIdStr 字段是一个 extensibility option for extending UserAuth tables,您可以使用它来添加您自己的 table 的引用。