mongodb [BsonExtraElements]機能を使用していくつかの動的データを拡張しましたが、残念ながらmongodb C#ドライバでクエリを作成できません。ここでLinq経由でMongoDBのBsonExtraElementsを照会するには
は私のモデルクラスである:ここで
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で事前に!
productEntityRepoのタイプはMongoDb MongoProductEntityコレクションのラッパーであり、このラッパーはそのコレクションをQueryableとして返します。私はMongoDb 3.2.9と最新のC#Driver 2.2.4を使用しています。
ハレイ、それは働いた!どうもありがとうございました! –