我有一个愿望清单应用程序。我希望当用户进入愿望清单页面时,所显示的愿望清单是他自己的。我正在使用SimpleMembershipProvider,所以我在AspNetUsers数据库表中添加了一些属性,例如Wishlist字段,它是wishlist的外键。我如何获得当前用户的愿望清单?我甚至在Wishlist对象中创建了一个User_Id外键字段。
答案 0 :(得分:1)
您应该可以通过WebSecurity.CurrentUserId
访问用户ID。
您可以将User
实体映射到您的用户表,包括对Wishlist
表的引用。或者,如果您首先使用模型,请让EF为您生成User
实体!
然后,您可以使用WebSecurity.CurrentUserId
从数据库中加载当前的User
实体。
例如:
var user = _database.Users.FirstOrDefault(u => u.Id == WebSecurity.CurrentUserId);
var wishlist = user.Wishlist;
修改强>
如果不使用WebSecurity
,您可以使用以下方式获取用户名:
var username Membership.GetUser().UserName;
然后,您可以访问User
实体:
var user = _database.Users.FirstOrDefault(u => u.Username == username);
var wishlist = user.Wishlist;