LINQ选择新对象并让ICollection作为Json返回

时间:2017-07-15 20:15:31

标签: javascript c# json asp.net-mvc linq

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

How do I select a collection within a collection using LINQ?

How to return ICollection<object> from linq, when using select new object() {}

我尝试做的是返回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_has_characters部分。

如何完成显示这些关联实体? 让我重新澄清一下。 所以我有一个角色表和一张带有多对多关系表的照片表,名为photos_has_characters。我还想从photos_has_characters集合中选择字符名称和id,并使用select new对象返回该信息。我该怎么做?

如果我遗漏了一些东西,我会加上它,谢谢你。

编辑:

在客户端控制台上我收到此错误: enter image description here

LINQ为photos_has_characters参数返回的内容... 虽然它没有返回错误,但是photos_has_characters集合的新对象的参数返回:

  

photos_has_characters =   {System.Data.Entity.DynamicProxies.photos_has_character_A0E9952F88D75712B3DACC51D4EA09329C0427E5A9FED3F11F4EE0EC2AE1B579}

使用Javascript读取Json会导致什么都没有。如何修改我的LINQ以适应?

0 个答案:

没有答案