首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linq to Entities -从存储过程中检索具有"self-reference“的实体

Linq to Entities -从存储过程中检索具有"self-reference“的实体
EN

Stack Overflow用户
提问于 2009-08-20 15:33:01
回答 2查看 1.4K关注 0票数 1

我不太明白这一点。我有一个名为Employee with和Id字段的表。该表还包含一个ManagerId字段,该字段具有一个指向员工Id字段的外键。当我将该表作为一个实体添加到我的实体数据模型中时,它会创建一个带有EmployeeChildren集合元素和EmployeeParent元素的新Employee实体。我可以检索所有Employee的,并将它们放入Employee实体perfect的新实例中。employee实体将有许多子实体,每个子实体可以有许多自己的子实体,并且每个子实体都有一个指向其父实体的指针。

我现在需要做的是使用存储过程检索这些员工的子集。现在,如果我搜索雇员John Doe,他上面有2个人,存储过程将返回3行。

EmployeeID ManagerId名称

1个空账单

2 1简

3 2无名氏

下面是我用来进行检索的代码:

代码语言:javascript
复制
using (var entity = new TimeEntryEntities())
    {

         var employees =
                 from E in entity.EmployeeSearch(search)
                 orderby E.Name
                 select E;


         return employees.ToList<Employee>();
    }

现在,这段代码返回3个独立的实体。我怎样才能把它们组合在一起呢?

EN

回答 2

Stack Overflow用户

发布于 2009-08-20 16:44:05

这听起来像是您试图拉平层次结构,以便只返回一条记录。也许存储过程中的公用表表达式(CTE)可以有所帮助:Here is an alternate of a similar request

还有another example with more detail (但你必须免费注册):

票数 0
EN

Stack Overflow用户

发布于 2010-03-16 03:50:10

你应该只返回你感兴趣的实体。EF将自动为您检索相关实体。如果我们没有使用自我引用,这会更容易可视化,这个概念已经阻碍了我们。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1307003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档