【发布时间】:2012-10-03 14:44:31
【问题描述】:
假设我有一个使用 EF 4.0 创建的模型
-
用户
-
角色
- 权限
-
每个实体都有一个 DeleteDate 属性。
我想获取一个特定用户(名称 =...)并让树中充满 DeletedDate == null..的项目。
这必须使用匿名类型投影作为结果,但我不知道如何使用比 2 更深的层次结构来完成此操作..
这是我已经拥有的:
public MyProjection MyCall(string givenName)
{
var result = from s in context.Users
where (s.Name == givenName &&
s.DeletedDate == null)
select new
{
s,
roles = from r in s.Roles
where r.DeletedDate == null
select r
};
var outcome = result.FirstOrDefault();
if (outcome != null)
{
var myProjection = new MyProjection()
{
User = outcome.s,
Roles = outcome.roles
};
return myProjection;
}
return null;
}
【问题讨论】:
-
第三级:以列表形式返回每个角色的所有权限......
标签: linq entity-framework