2

下面出现错误

LINQ to Entities 无法识别方法 'System.Object get_Item(System.String)' 方法,并且此方法无法转换为存储表达式

试图从数据库中获取 Postobject 的数据并将其发送为 Json 格式。PostComments 是 Post 的一对多关系。我首先使用 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();
        }
4

1 回答 1

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);
于 2013-04-01T17:02:58.953 回答