EF会自动将对象添加到集合中

时间:2017-09-12 10:56:51

标签: entity-framework

我有一个场景,其中Manager(Employee表)有几个桌面(Desktop表)和几个Reportees(Employee表使用自引用)。我正在使用EF Core 1.x。

我有Desktop Id和Reportee Id作为输入,我想检索填充了一个Desktop对象的Manager obkect和一个与提供的ID有关的Reportee(Employee)对象作为预期输出。所以,我写了以下查询:

var desktop = _desktopRepository.Query()
    .Where(s => s.Id == desktopId)
    .Include(s => s.Employee)
    .All()
    .FirstOrDefault();

// EF is magically adding reportee object to the desktop.Employee.Reportee list.
// So, no need to add it separately. If done, there'll be two objects of same Reportee.
var reportee = _employeeRepository.Get(reporteeId).Result;

我在这里观察到的是在评论中写的。我正在寻找有关为什么EF会自动将此对象添加到列表中的指导。

重要的是要注意,在这里,我发出两个完全不同的查询。当我通过代码调试时,我发现它是单独触发它们并获取结果。 EF不仅将结果添加到上面的实体中,而且还将其作为独立结果返回。

注意:抱歉,我不知道这是对还是错。但我想知道EF如何/为什么会自动将此对象添加到集合中。

非常感谢任何帮助。非常感谢提前。

0 个答案:

没有答案