我会在我的请求中使用 .All 方法,但似乎不受支持。我有一个参数列表,其中包含具有值和名称的元素(如字典)和其他内容。和参数,具有值和名称的元素列表。我在第一个列表中的所有元素都必须存在于第二个列表中。我会使用的请求是:
linq.Where(u => (u.ParametersList.All(param =>
(Parameters.Any(p =>
p.Value== param.Value && p.Name== param.Name)))));
如果您有使用 .All 以外的其他东西的想法,我会听您的 :) 我试过了
!u.ParametersList.Any(param =>
!(Parameters.Any(p =>
p.Value== param.Value && p.Name== param.Name)));
但我想 Nhibernate 不会有所作为
我也试过
List<System.Tuple<String, String>> ParamTuples = Parameters.Select(p => new System.Tuple<String, String>(p.Value, p.Name)).ToList();
所以,ParamTuples 我的第二个列表的元素
linq = linq.Where(url => (url.ParametersList.Any(param =>
ParamTuples.Any(p => p.Item1 == param.Value && p.Item2 == param.Name))));
但它也没有奏效。不支持这些方法。