У меня есть пара классов, сгенерированных DBML, которые связаны между собой идентификатором, например,
ClassA {
AID,
XID,
Name
}
ClassB {
AID,
ExtraInfo,
ExtraInfo2
}
При использовании чего-то вроде db.ClassAs.Where(XID == x)
и повторении этого результата в конечном итоге выполняется запрос для каждогоClassAs и каждого из ClassBs, что является медленным.
В качестве альтернативы, я попытался использовать ExecuteQuery
, чтобы получить всю информацию, которая мне нужна, и получить эту ClassA.Итерируя по этому вопросу, я получаю то же самое, т. Е. Делаю много отдельных выборок, а не только 1. Если я храню его в ClassC (который не связан с сущностью БД), который имеет поля интереса обоих ClassAи ClassB, этот запрос намного быстрее, но это раздражает, потому что я только что создал IMO ненужный ClassC.
Как я все еще могу использовать ClassA, который связан с ClassB, и все еще использовать ExecuteQuery
для запуска 1запрос против A * B количество запросов?