【问题标题】:EntityFrameworks, Linq and an optional child实体框架、Linq 和一个可选子项
【发布时间】:2014-11-26 14:44:11
【问题描述】:

我有三个类,分别称为 Authors、Books 和 Publishers

一个作者可以有很多本书。 一本书可以有多个作者。 一本书可以有一个(可选的)出版商。 一个出版商可以有很多书。

我想使用 WebAPI 提供作者、书籍和出版商的集合。我最初遇到 JSON.Net 抛出循环引用异常的问题,因为从书到作者的链接。

为了解决这个问题,我使用以下方法重建从存储库返回的列表:

            List<Author> result = data.Select(x => new Author
        {
            Id = x.Id,
            Name = x.Name,
            Books = x.Book.Select(y => new Book
            {
                Id = y.Id,
                Name = y.Name,
                Publisher = new Publisher
                {   Id=y.Publisher.Id,
                    Name=y.Publisher.Name,
                }
            }).ToList()
        }).ToList();

但是,当发布者不存在时,我遇到了问题。我该如何处理?

【问题讨论】:

    标签: linq entity-framework asp.net-web-api2


    【解决方案1】:

    看起来你有一个XY problem

    您是否首先尝试解决循环引用的问题?查看this question's 答案以配置 JSON 序列化程序以处理循环引用。

    【讨论】:

    • 谢谢。昨天我花了很长时间试图解决循环引用问题。我的谷歌技能让我无法找到 Json Serializer 修复程序。
    猜你喜欢
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 2012-08-08
    相关资源
    最近更新 更多