Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 基于用户ID访问EF中的实体_Entity Framework_C# 4.0_Ef Database First - Fatal编程技术网

Entity framework 基于用户ID访问EF中的实体

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 =

我希望能够定义使用EF5访问实体的逻辑。就像我的订单实体有UserId一样,所以我希望从代码中的任何位置,如果查询命中订单,它需要通过当前登录的用户获得过滤器。
我使用数据库优先的方法。

通常这是一个两阶段的过程

首先,使用用户的用户名,从数据源检索用户记录:

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中。

您使用默认成员资格提供程序还是自定义成员资格提供程序?