我怎样才能获得等于string []的项目?

Bar*_*Alp 0 c# linq lambda entity-framework

我有一个字符串数组

var controlsToGet = new[] {"lblHome","lblContact"};
Run Code Online (Sandbox Code Playgroud)

我有List<LanguageControl>,LanguageControl类包含控件.我想从列表中获取控件Control.Name == controlsToGet

我正在寻找类似的东西

var all = fooelements.where(l=>l.Control.Name == controlsToGet);
Run Code Online (Sandbox Code Playgroud)

有没有lambda或linq.

注意:我能够用Nhibernate的Disjunction做到这一点,我正在寻找类似的东西

编辑:如果我想将此查询用于实体框架的数据库,我该怎么办?

谢谢

Mar*_*ris 10

var all = fooelements
              .Where(l=>controlsToGet
                            .Contains(l.Control.Name));
Run Code Online (Sandbox Code Playgroud)

如果每个项目都有一个控件列表:

var all = fooelements
              .SelectMany(l => l.Controls)
              .Where(c => controlsToGet
                             .Contains(c.Name));
Run Code Online (Sandbox Code Playgroud)

  • 我不介意声誉的损失,但我希望任何被投票的人发表评论.我有兴趣知道这个答案有什么问题,即使这只是为了帮助我自我教育...... (2认同)