Моделирование подобъектов mongodb в приложении ASP.NET MVC - PullRequest
0 голосов
/ 13 января 2019

У меня возникают проблемы после добавления подобъекта в мои монго-документы. Запрос больше не возвращает результаты, хотя я добавил объект в свою модель для хранения нового подобъекта.

Я считаю, что проблема заключается в добавлении класса для подобъекта в объектную модель. Кажется, я нигде не могу найти никаких ссылок в Интернете, поэтому, возможно, я ищу не ту вещь?

Монго элементы выглядят так:

{
    _id: [id],
    Name: "Paul",
    Phone1: {
        Name: "Work",
        Number: "15551234567"
    },
    Phone2: {
        Name: "Work",
        Number: "15551234567"
    }
}

В C # моя модель выглядит так:

public class PersonModel {
    [BsonId]
    public ObjectId _Id { get; set; }
    public string Name { get; set; }
    public Phone Phone1 { get; set; }
    public Phone Phone2 { get; set; }
}

public class Phone {
    public string Name { get; set; }
    public string Number { get; set; }
}

Мой запрос выглядит так:

    public async Task<List<PersonModel>> GetPerson(string name)
    {
        var people = new List<PersonModel>();

        var allDocuments = await PersonCollection.FindAsync(
            ds => ds.Name == name);


        await allDocuments.ForEachAsync(doc => people.Add(doc));

        return people;
    }

Любые ссылки на рабочий пример приветствуются.

Спасибо, что посмотрели.

1 Ответ

0 голосов
/ 13 января 2019

Вышеуказанная реализация верна. После многих часов устранения неполадок выяснилось, что в моей базе данных нет точки данных, к которой я обращался. Невероятно.

Если кто-то еще борется, я также нашел это руководство, которое подтвердило, что я правильно имею дело с подобъектом: https://www.codementor.io/pmbanugo/working-with-mongodb-in-net-1-basics-g4frivcvz

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