【发布时间】:2012-11-09 22:57:01
【问题描述】:
我有两个实体,比如说汽车和照片。 每张照片都有 Car 的外键,所以每辆车都有自己的照片集。
我想列出一些汽车子集,对于每辆列出的汽车,我想列出每张照片。
如何在 Entity Framework 中使用 1 db 查询执行此操作? 我从一开始就知道我需要照片。
我现在的代码如下所示:
var carList = CarEntities.Where(...).ToList();
foreach(var car in carList){
var photoList = car.Photos.ToList();
}
我认为,EF 会为每辆车单独进行 db 查询。
【问题讨论】:
-
"我认为,EF 会为每辆车单独进行数据库查询。"你为什么这么认为?还是你的意思是每辆车的照片?
-
假设 D -fk-> C -fk-> B -fk-> A. 如果我列出 EF 中的所有 AEntities,我可能不想列出所有指向任何 A 的 BE,所有 CE 指向任何...所以我认为EF会在需要时从数据库数据中获取,这将是当我调用
A.BsarA.Bs.First().Cs或类似这样的时候。
标签: c# database performance entity-framework