加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 标签系统的linq查询 – 搜索多个标签

发布时间:2020-12-16 07:30:59 所属栏目:asp.Net 来源:网络整理
导读:我有两个表,标签(tagid,postid,tagname)和帖子(postid,name,…) 现在我想创建一个查询,返回所有具有一般标签数量的帖子. 喜欢:我想要所有帖子都有标签asp.net和 jquery 正如我所说,要查找的标签数量是通用的 我怎么能这样做? 谢谢 更新17.11.2009: 有一个
我有两个表,标签(tagid,postid,tagname)和帖子(postid,name,…)
现在我想创建一个查询,返回所有具有一般标签数量的帖子.
喜欢:我想要所有帖子都有标签asp.net和 jquery

正如我所说,要查找的标签数量是通用的

我怎么能这样做?

谢谢

更新17.11.2009:
有一个问题:表之间的关系不存在,因为我的主键位于2个字段(用于版本控制),如何在没有关系的情况下创建它?
我正在使用Linq To Entities

此外,查询应该具有良好的性能,并且不应该产生数千个服务器请求.

解决方法

我猜你不能使用.我使用EF 3.5的.Contains().我通过使用这个“WhereIn”扩展来解决这个问题

‘Contains()’ workaround using Linq to Entities?

把它放到静态类中然后你可以使用类似的东西:

IQueryable<Post> PostsWithByTags(IEnumerable<string> tagNames)
{
    var postIds = context.Tags.Select(t=>t.postid); 

    foreach (var tag in tagNames)
    {
       postIds = context.Tags
                     .WhereIn(t=> t.postid,postIds)
                     .Where(t=>t.tagname == tag);
    }

    return context.Tags.Where( t=> t.posId,postIds)
}

我真的认为你应该考虑在你的桌子之间建立关系.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读