我有一个简单的linq查询:
var workers = context.users.Where(w => context.memberships.Any(m => m.company_id == companyID));
正如您所看到的,我在谓词中使用了db context,所以我担心它可能会导致不必要的db调用。 EF会以某种方式对其进行优化吗?
当然,我可以这样做:
var memberships = context.memberships.Where(m => m.company_id == companyID);
var workers = context.users.Where(w => memberships.Any(m => memberships.Contains(m)));
但它更好吗?