假设我有一个使用 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;
}