我不太明白这一点。我有一个名为Employee with和Id字段的表。该表还包含一个ManagerId字段,该字段具有一个指向员工Id字段的外键。当我将该表作为一个实体添加到我的实体数据模型中时,它会创建一个带有EmployeeChildren集合元素和EmployeeParent元素的新Employee实体。我可以检索所有Employee的,并将它们放入Employee实体perfect的新实例中。employee实体将有许多子实体,每个子实体可以有许多自己的子实体,并且每个子实体都有一个指向其父实体的指针。
我现在需要做的是使用存储过程检索这些员工的子集。现在,如果我搜索雇员John Doe,他上面有2个人,存储过程将返回3行。
EmployeeID ManagerId名称
1个空账单
2 1简
3 2无名氏
下面是我用来进行检索的代码:
using (var entity = new TimeEntryEntities())
{
var employees =
from E in entity.EmployeeSearch(search)
orderby E.Name
select E;
return employees.ToList<Employee>();
}现在,这段代码返回3个独立的实体。我怎样才能把它们组合在一起呢?
发布于 2009-08-20 16:44:05
这听起来像是您试图拉平层次结构,以便只返回一条记录。也许存储过程中的公用表表达式(CTE)可以有所帮助:Here is an alternate of a similar request
还有another example with more detail (但你必须免费注册):
发布于 2010-03-16 03:50:10
你应该只返回你感兴趣的实体。EF将自动为您检索相关实体。如果我们没有使用自我引用,这会更容易可视化,这个概念已经阻碍了我们。
https://stackoverflow.com/questions/1307003
复制相似问题