.net 获取相对于当前用户的数据
我有一个愿望列表应用程序。我希望当用户进入愿望列表页面时,所显示的愿望列表是他自己的。我正在使用SimpleMembershipProvider,因此我向AspNetUsers DB表添加了一些属性,例如Wishlist字段,它是Wishlist的外键。如何获取当前用户的愿望列表?我甚至在Wishlist对象中创建了一个用户Id外键字段。您应该可以通过.net 获取相对于当前用户的数据,.net,asp.net-mvc,entity-framework,.net,Asp.net Mvc,Entity Framework,我有一个愿望列表应用程序。我希望当用户进入愿望列表页面时,所显示的愿望列表是他自己的。我正在使用SimpleMembershipProvider,因此我向AspNetUsers DB表添加了一些属性,例如Wishlist字段,它是Wishlist的外键。如何获取当前用户的愿望列表?我甚至在Wishlist对象中创建了一个用户Id外键字段。您应该可以通过WebSecurity.CurrentUserId访问用户Id 您可以将用户实体映射到用户表,包括对愿望列表表的引用。或者,如果您首先使用模型,请
WebSecurity.CurrentUserId
访问用户Id
您可以将用户
实体映射到用户表,包括对愿望列表
表的引用。或者,如果您首先使用模型,请EF为您生成用户
实体
然后,您可以使用WebSecurity.CurrentUserId
从数据库中加载当前User
实体
例如:
var user = _database.Users.FirstOrDefault(u => u.Id == WebSecurity.CurrentUserId);
var wishlist = user.Wishlist;
编辑 如果未使用
WebSecurity
,则可以使用以下方法获取用户名:
var username Membership.GetUser().username代码>
然后您可以访问您的用户
实体:
var user = _database.Users.FirstOrDefault(u => u.Username == username);
var wishlist = user.Wishlist;
我正在使用添加了自定义属性的AspNetUsers表。无法识别Web安全性。我使用的是VS2013、.Net 4.5、EntityFramework v4.0。您是否缺少using语句?@Chris,我添加了一种不需要Web安全性的替代方法。
@Oliver:我知道这种方法。我想我得把用户名放在数据库里?我想要一个int-id。