Как избежать сглаживания ExpandoObject? - PullRequest
0 голосов
/ 21 сентября 2018

Модель выглядит следующим образом:

public class Foo
{
    public long Id { get; set; }
    public ExpandoObject Attributes { get; set; }
}

Что я получаю в результате вызова Web API:

[
    {
        Id: 1,
        Attribute1: "XYZ",
        Attributes: "ABC"
    }
]

Что я ожидаю получить:

[
    {
        Id: 1,
        Attributes:
        {
            Attribute1: "XYZ",
            Attributes: "ABC"
        }
    }
]

Действие контроллера возвращает IQueryable.

public IQueryable<Foo> Get()
{
    var result = ...;
    return result.AsQueryable();
}

result Переменная - это коллекция объектов Foo.Кто-нибудь может объяснить, почему это происходит?

1 Ответ

0 голосов
/ 21 сентября 2018

Хорошо, я нашел одно решение.Я уверен, что не самый лучший, но работает.

Я ввел класс, содержащий только одно свойство:

public class Bar
{
    public ExapndoObject Content { get; set; }
}

и использовал его в Foo class:

public class Foo
{
    public long Id { get; set; }
    public Bar Attributes { get; set; }
}

В любом случае, я все еще заинтересован в лучших решениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...