我得到一个 EF 查询,目前看起来像这样:
dbContext.CurrentRunningServices
.Where(r.DataCenter == defaultDataCenterIndex && r.IsActive)
.Where(r => dbContext.CurrentRunningServices.Any(
r2.Name == r.Name &&
r2.DataCenter != defaultDataCenterIndex &&
r2.Version != r.Version)
&& !dbContext.CurrentRunningServices.Any(r3 =>
r3.Name == r.Name &&
r3.DataCenter != r.DataCenter &&
r3.Version == r.Version &&
r3.IsActive)
这几乎就是我想要的。我要改的是第二个
Any
中的部分:r3.DataCenter != r.DataCenter
。我不希望它只是与 r.DataCenter 不同,它可以是任何其他数据中心,但我实际上希望它是 r3.DataCenter == r2.DataCenter
,这意味着不同的数据中心应该特别是 r2 所在的数据中心。
如何将第一个 Any 的信息“传递”给第二个?