在Nerddinner项目中,如果我不理解错误,我会看到晚餐与用户的用户名有关系。我希望晚餐会通过唯一标识符与用户有关。它有什么不对吗?如果我们想要更改用户的用户名,那么我们应该考虑手动更新关系。请考虑一些旧问题,这些问题询问为什么不能使用用户名作为唯一标识符。
答案 0 :(得分:2)
我没有考虑确切的数据库架构,但据我所知,用户管理由成员资格数据库中的ASP.NET内置成员资格工具处理。虽然您可以从ASP.NET成员资格提供程序获取唯一ID,但该标识符的类型可能因不同的提供程序而异(例如,在一个提供程序中可能是Int32
而在另一个提供程序中可能是Guid
providerUserKey参数在成员资格API中声明类型object
)。因此,如果您想要将自己与任何特定的成员资格提供者隔离开来,您最好坚持使用该用户名。这是便携式的。
答案 1 :(得分:1)
用户名是此示例中的唯一标识符。如果有更自然的密钥,则不需要使用int或uniqueidentifier(Guid)作为密钥。在这种情况下,用户名在系统中是唯一的,因此是用户记录的自然密钥。
答案 2 :(得分:0)
你是对的;用户名被用作将用户与晚餐(或我记得的RSVP)联系起来的唯一标识符。
它使用这些值,因为用户名必须是唯一的,因此它是唯一的ID ...它不是数字的,自动生成的。