【发布时间】:2010-08-25 22:01:30
【问题描述】:
我有一个名为 Notes 的管理文档的应用程序。与博客一样,Notes 可以搜索与一个或多个标签的匹配项,这些标签包含在 Note.Tags 集合属性中。标记具有名称和 ID 属性,并根据 ID 进行匹配。用户可以指定多个标签进行匹配,在这种情况下,注释必须包含指定匹配的所有标签。
我有一个非常复杂的 LINQ 查询来执行便笺搜索,其中包含扩展方法和循环。坦率地说,它有一种真正的代码味道。我想用更简单的东西重写查询。我知道如果我将 Tag 设为一个简单的字符串,我可以使用如下内容:
var matchingNotes = from n in myNotes
where n.Tags.All(tag => searchTags.Contains(tag))
如果我的模型使用带有 ID 的 Tag 对象,我可以做这么简单的事情吗?查询会是什么样子。它可以用流利的语法编写吗?那会是什么样子?
【问题讨论】:
-
我不认为您的查询会像您想的那样 - 它强制注释仅带有指定的标签。它不检查它是否具有所有指定的 ...
标签: linq