Изменить сопоставленный индекс списка в MongoDB Driver C # - PullRequest
0 голосов
/ 08 октября 2019

У меня есть список объектов, которые я хочу написать и получить к ним доступ в моем MongoDB. Ранее я использовал Dictionary<String, MongoPropertyValue>, но идентификатор не обязательно должен быть уникальным, поэтому я бы предпочел использовать List<MongoPropertyValue>. Проблема со списками состоит в том, что они отображаются в MongoDB следующим образом:

enter image description here

, но они нужны мне как в словаре

enter image description here

Я предполагаю, что могу изменить способ отображения моего списка, но я не уверен, как выполнить сопоставление. Я пришел к выводу, что это может работать с помощью IClassMapConvention, но я не знаю, как выполнить сопоставление.

Как я могу отобразить значение элемента моего списка в качестве индексатора в MongoDBили, другими словами, как я могу сопоставить List<T> как Dictionary<K, T>, но без уникального идентификатора?

class Propertys : List<MongoPropertyValue>
{
    public Propertys()
    {
        //This Id should be shown as the index
        //just like as it would be in a dictionary
        //MongoPropertyValue.PropertyId
    }

    //methods
}

public class ListLikeDictionaryConvention : IClassMapConvention
{
    public void Apply(BsonClassMap classMap)
    {
        // I guess I can map the PropertyId so that it appears as "index"
    }

    public string Name
    {
        get { return "ListLikeDictionary"; }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...