如何让 EF 查询从一个 Any 知道另一个数据

问题描述 投票:0回答:0

我得到一个 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 的信息“传递”给第二个?

c# entity-framework
© www.soinside.com 2019 - 2024. All rights reserved.