Entity framework 基于用户ID访问EF中的实体
我希望能够定义使用EF5访问实体的逻辑。就像我的订单实体有UserId一样,所以我希望从代码中的任何位置,如果查询命中订单,它需要通过当前登录的用户获得过滤器。Entity framework 基于用户ID访问EF中的实体,entity-framework,c#-4.0,ef-database-first,Entity Framework,C# 4.0,Ef Database First,我希望能够定义使用EF5访问实体的逻辑。就像我的订单实体有UserId一样,所以我希望从代码中的任何位置,如果查询命中订单,它需要通过当前登录的用户获得过滤器。 我使用数据库优先的方法。通常这是一个两阶段的过程 首先,使用用户的用户名,从数据源检索用户记录: string UserName = HttpContext.Current.User.Identity.Name; User user = context.Users.FirstOrDefault( u => u.UserName =
我使用数据库优先的方法。通常这是一个两阶段的过程 首先,使用用户的用户名,从数据源检索用户记录:
string UserName = HttpContext.Current.User.Identity.Name;
User user = context.Users.FirstOrDefault( u => u.UserName == UserName );
然后,针对特定用户筛选数据:
IEnumerable<Order> orders = context.Orders.Where( o => o.UserId == user.Id );
IEnumerable orders=context.orders.Where(o=>o.UserId==user.Id);
您可以进一步优化该过程,以便不必在每次请求时检索用户记录,而是可以将用户ID存储在身份验证cookie中。您使用默认成员资格提供程序还是自定义成员资格提供程序?