Javascript LINQ选择新对象,并将ICollection作为Json返回

Javascript LINQ选择新对象,并将ICollection作为Json返回,javascript,c#,json,asp.net-mvc,linq,Javascript,C#,Json,Asp.net Mvc,Linq,我检查了类似的问题,例如: 我试图做的是返回Json格式的列表,用于Javascript GET请求,并将其显示在cshtml页面上 var query = (from c in db.photos orderby c.date_created descending select new { id = c.id, name = c.name, image_url = c.image_url, de

我检查了类似的问题,例如:

我试图做的是返回Json格式的列表,用于Javascript GET请求,并将其显示在cshtml页面上

        var query = (from c in db.photos
                     orderby c.date_created descending
                     select new { id = c.id, name = c.name, image_url = c.image_url, description = c.description, photos_has_characters = c.photos_has_characters.FirstOrDefault() })
                     .Skip(pageIndex * pageSize)
                     .Take(pageSize);
        return Json(query.ToList(), JsonRequestBehavior.AllowGet);
但是,当我转到页面时,没有任何内容加载或显示错误,因此必须是LINQ中的照片字符部分

如何显示这些关联实体? 让我再次澄清。 所以我有一个角色表和一个照片表,其中有一个名为photos\u has\u characters的多对多关系表。我还想从photos_has_characters集合中选择角色名称和id,并使用select new对象返回该信息。我该怎么做

如果我遗漏了什么,我会加上它,提前谢谢你

编辑:

在控制台上的客户端中,我收到以下错误:

LINQ为照片返回的内容\u具有\u字符参数。。。
虽然不会返回错误,但photos\u has\u characters集合的新对象的参数会返回以下内容:

照片有两个字符= {System.Data.Entity.DynamicProxies.photos_具有字符_A0E9952F88D75712B3DACC51D4EA09329C0427E5A9FED3F11F4EE0EC2AE1B579}


使用Javascript读取到Json中不会产生任何结果。如何修改LINQ以适应?

您缺少的内容:调试操作时,查询包含什么内容?调试器是否在您的操作中停止?在客户端-网络监视器为GET请求显示什么?状态代码是什么?我得到的状态代码是500 Internal Server Error 500 Internal Server Error是catch all服务器端错误。除了运行调试器中断操作方法并在其中捕获错误外,您还可以启用IIS返回错误详细信息。如果您使用的是实体框架,您还可以看到实际的sql查询。或者使用SQL Server探查器查看数据库正在返回的内容。尽管没有返回错误,但photos_has_characters集合的新对象的参数返回以下内容:photos_has_characters={System.Data.Entity.DynamicProxies.photos_has_has_characters={System.Data.Entity.DynamicProxies.photos_has_has_character_A0E9952F88D75712B3DAcc51D4; D4EA09329C0427E5A9FED3F11F4EE0EC2AE1B579}