Я использовал функцию mongodb [BsonExtraElements], чтобы расширить класс некоторых динамических данных, но, к сожалению, я не могу создать запрос с помощью драйвера mongodb C#.Как запросить BsonExtraElements в MongoDB через Linq
Вот мой класс модели:
public class MongoProductEntity
{
public MongoProductEntity()
{
AdditionalColumns = new BsonDocument { AllowDuplicateNames = false };
}
[BsonExtraElements]
public BsonDocument AdditionalColumns { get; set; }
public string BrandName { get; set; }
}
Вот часть запроса:
var productEntity = new MongoProductEntity()
{
BrandName = "Brand"
};
productEntity.AdditionalColumns.Add("testProperty", 6);
productEntity.AdditionalColumns.Add("testProperty2", "almafa");
await productEntityRepo.InsertAsync(productEntity);
var qq = productEntityRepo.Where(x => x.AdditionalColumns["testProperty"] == 6).ToList();
Этот запрос не возвращает один элемент из базы данных, однако если я пытаюсь запросить свойство Фирменные все работает нормально!
Есть ли кто-нибудь, кто столкнулся с подобной ситуацией или знает, почему этот запрос не ворует? Thx заранее!
Просто короткое замечание здесь: тип продуктаEntityRepo является оберткой коллекции MongoDb MongoProductEntity, и эта оболочка возвращает коллекцию как Queryable, вот и все. Я использую MongoDb 3.2.9, с последним C# Driver 2.2.4.
Ура, это сработало! Большое спасибо! –