通过GUID或标识2中的整数跟踪用户



从Identity 2开始,他们已经从具有整数值的id(例如1,2,3,4,…)切换到具有nvarchar值的id,该值将id存储为一些长字符串,如

a234vt-23sdlj23klj-34jkh34jh34-23jk4jh2

如果我创建一个对象,将有一个所有者属于登录的人,所以我需要附加用户id到它,我应该使用这个新的id从Identity 2或我应该尝试创建一些其他的值,如整数,并把它放到aspnetusers表?这真的很重要吗,我所做的就是通过所有者(userid)获取礼物对象,并在表单上显示/修改礼物对象。

这是我的产品对象的一个例子

public class Gift
{
    public int Id { get; set; }
    public string Name { get; set; }
    public ICollection<Category> Categories { get; set; }
    public int Rating { get; set; }
    public GiftStatus Status { get; set; }
    Public string UserId {get; set; //where userid is the id of the user that owns this object, should it be 3kj23jh3-h3hk1jh2-khj2h34l1b-n22g35l  ???
}

使用Guid UserId来引用用户是没有问题的,如果这是您所关心的。除非您有特殊的理由不希望使用Guid作为UserId,否则我建议您使用默认行为以简化实现。使用两个单独的id来跟踪用户听起来不必要地复杂,我不推荐这种方法。

如果你有一个很好的理由要求Int作为主键而不是Guid,你可以看看这个:http://blogs.msdn.com/b/webdev/archive/2014/03/20/test-announcing-rtm-of-asp-net-identity-2-0-0.aspx(向下滚动到"使主键的类型为用户和角色可扩展"一节)。这个页面有一个链接到一个示例项目,它向您展示了如何使用Int作为PK。它还提到,这个扩展可以用来迁移使用Int PK的应用程序到新的Identity 2.0。

这是另一篇可能有所帮助的文章:http://www.codeproject.com/Articles/777733/ASP-NET-Identity-Change-Primary-Key

相关内容

  • 没有找到相关文章

最新更新