我有几个 DBML 生成的类,它们通过 id 链接在一起,例如
ClassA {
AID,
XID,
Name
}
ClassB {
AID,
ExtraInfo,
ExtraInfo2
}
在使用类似的东西db.ClassAs.Where(XID == x)
并遍历该结果时,它最终会为每个 ClassAs 和每个 ClassB 执行查询,这很慢。
或者,我尝试使用它ExecuteQuery
来获取我关心的所有信息并让它返回一个 ClassA。在迭代它时,我最终会做同样的事情,即做很多单独的提取而不是 1。如果我将它存储在一个 ClassC(与 DB 实体无关)中,它具有两个 ClassA 感兴趣的字段和 ClassB,这个查询要快得多,但它很烦人 b/c 我刚刚创建了 IMO 一个不必要的 ClassC。
我怎样才能仍然使用与 ClassB 关联的 ClassA,并且仍然使用ExecuteQuery
运行 1 个查询与 A*B 数量的查询?