我对如何在 Linq to Entities 中链接两个列表感到Linq很困惑。EF
我首先使用数据库,并且有两个表:
Person,带有列Id
和
Ability,带有列Id,PersonId并且Value
因此,Person类有一个ICollection<Ability>, 称为AllAbilities.
在某些视图的 ViewModel 中,我返回一个 int 列表,表示用户输入的文本框值Ability.Value,称为AbilitiesInput。我的需求很简单,在控制器中我必须调用一个查询来执行以下操作:
GetAll(person =>
for(i = 0; i < AbilitiesCount; i++) { person.AllAbilities[i] > AbilitiesInput[i] }
)
Run Code Online (Sandbox Code Playgroud)
其中GetAll方法看起来像我的通用存储库中的那样:
public virtual async Task<List<TEntity>> GetAll(
Expression<Func<TEntity, bool>> wherePredicate = null
{ ... }
Run Code Online (Sandbox Code Playgroud)
要继续,我只需要一个布尔值,它可以检查 every 是否AllAbilities[i]高于AbilitiesInput[i],但我尝试的任何方法都不起作用。
我尝试更改AbilitiesInput为List<KeyValuePair>or …