如何将值列表发送到LINQ中的where子句

时间:2019-06-10 09:33:06

标签: c# linq

我有一个标签列表和一个与多对多关系的帖子列表。我想检索在标签列表中具有所有标签的帖子列表。 我已经尝试过:

List<Tbl_Tags> taglist = new List<Tbl_Tags>();
using (DVCPContext conn = db.Context)
                {
                    post = (
                        // instance from context
                        from a in conn.Tbl_Tags
                            // instance from navigation property
                        from b in a.Tbl_POST
                            //join to bring useful data
                        join c in conn.Tbl_POST on b.post_id equals c.post_id

                        // code below doesnt work
                        where taglist.Any(m => a.TagID == m.TagID) && b.status == true
                        orderby b.create_date descending
                        select new lstPostViewModel
                        {
                            post_id = c.post_id,
                            post_title = c.post_title,
                            post_teaser = c.post_teaser,
                            ViewCount = c.ViewCount,
                            AvatarImage = c.AvatarImage,
                            create_date = c.create_date
                        }).ToPagedList(pageIndex, pageSize);
                }

我想选择a.tagID == m.TagID ||下一个元素... 它发送错误消息: 无法创建类型为'DVCP.Models.Tbl_Tags'的常量值。在这种情况下,仅支持基本类型或枚举类型。

0 个答案:

没有答案