У меня есть список объектов, которые я хочу написать и получить к ним доступ в моем MongoDB. Ранее я использовал Dictionary<String, MongoPropertyValue>
, но идентификатор не обязательно должен быть уникальным, поэтому я бы предпочел использовать List<MongoPropertyValue>
. Проблема со списками состоит в том, что они отображаются в MongoDB следующим образом:
, но они нужны мне как в словаре
Я предполагаю, что могу изменить способ отображения моего списка, но я не уверен, как выполнить сопоставление. Я пришел к выводу, что это может работать с помощью 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"; }
}
}