LINQ to Entities无法识别方法'System.Object get_Item(System.String)'

时间:2013-03-21 19:30:47

标签: c# asp.net-mvc asp.net-mvc-3 linq entity-framework

错误低于

  

LINQ to Entities无法识别方法'System.Object   get_Item(System.String)'方法,此方法无法翻译   进入商店表达

尝试从db获取Postobject的数据并将其发送到Json格式。 PostComments是Post的1对多关系。 我首先使用EF 5.x代码。

    try
        {
            IEnumerable<Post> userPosts;
            userPosts = (from q in db.Posts
                         where q.UserId == userId
                         && q.PostId > postid
                         select q).Take(5);


            return Json(userPosts.Select(x => new
            {
                success = 1,
                contenttext = x.PostContent,
                postId = x.PostId,
                comments = x.PostComments  //is a child collection object
            }), JsonRequestBehavior.AllowGet);

        }
        catch (Exception ex)
        {
            return Json(new { success = 0 });

        }
        finally
        {
            //db.Dispose();
        }

1 个答案:

答案 0 :(得分:1)

我不确定你是否已经尝试过这个。

return Json(userPosts.Select(x => new
        {
            success = 1,
            contenttext = x.PostContent,
            postId = x.PostId,
            comments = x.PostComments  //is a child collection object
        }).ToList(), JsonRequestBehavior.AllowGet);