得到下面 此錯誤試圖有關係,即表示1周後可以有多個postComments循環引用檢測的LINQ
在序列化類型System.Collections.Generic.List的目的時檢測到循環引用`1 [[DAO.Models.PostComment,DAO,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]'。
int userId = (int)Session["UserId"];
try
{
IEnumerable<Post> userPosts;
userPosts = (from q in db.Posts
where q.UserId == userId
&& q.PostId > postid
select q).Take(5).ToList();
return Json(userPosts.Select(x => new
{
success = 1,
contenttext = x.PostContent,
postId = x.PostId,
comments = x.PostComments
}), JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
return Json(new { success = 0 });
}
finally
{
//db.Dispose();
}
我Post類
public partial class Post
{
public Post()
{
this.PostComments = new List<PostComment>();
}
public int UserId { get; set; }
public int PostId { get; set; }
public string PostContent { get; set; }
public virtual ICollection<PostComment> PostComments { get; set; }
public partial class PostComment
{
public long PostCommentID { get; set; }
public int PostId { get; set; }
public int ParentCommentID { get; set; }
public System.DateTime CommentDate { get; set; }
public string Comment { get; set; }
public virtual Post Post { get; set; }
}
}
你有沒有在將它串行化之前將它轉換成匿名類的代碼片段? – 2013-03-22 01:28:22
var y =來自p中的db.Posts select new {PostID = p.PostID,Comments = p.Comments} – cherhan 2013-03-22 01:33:12
你的問題解決了嗎? – cherhan 2013-03-25 12:02:14