LINQ,在查询中使用string []

时间:2010-01-15 16:22:57

标签: linq

我的查询看起来像这样......

string value
            return DataContext.Tags.Where(t => t.Keys.Any(k => k.Ring.RingName == category))
                .Where(t => t.Keys.Any(k => k.Ring.Keys.Any(c => c.Tag.TagName == value)));

它运作良好,我喜欢它。但它需要做一些额外的事情。 'value'字符串实际上是一个字符串[] - 有没有办法基本上改变最后一个lambda来说'如果TagName匹配在这个字符串[]'中找到的任何东西?

2 个答案:

答案 0 :(得分:3)

像这样:(未经测试)

string[] values
return DataContext.Tags.Where(t => t.Keys.Any(k => k.Ring.RingName == category))
                       .Where(t => t.Keys.Any(k => k.Ring.Keys.Any(c => values.Contains(c.Tag.TagName))));

答案 1 :(得分:0)

如果您无法更改价值声明     c =>(新列表(值))。包含(c.Tag.TagName)

如果可以,可以将其声明为List吗?