0
私はデータベースから文書を取得しようとしていますが、それは望ましい方法ではできません。 MobogDB C#Driverを使用してエンティティのカスタムシリアライザを作成する方法は?
var filter = Builders<Book>.Filter.Eq(x => x.Id == new ObjectId(id), true);
var result = await coll.Find(filter).ToListAsync();
しかし
Find
メソッドを実行するときに、この場合には
InvalidOperationException
がスローされます。 データを取得するために、このアプローチを使用するように便利なようです。私はこのフィルタを使用する場合
Unable to determine the serialization information for x => (x.Id == new ObjectId(value(BookService.Controllers.ImportController+<>c__DisplayClass1_0).id)).
public class Book
{
[BsonId]
public ObjectId Id { get; set; }
public string Author { get; set; }
public string Title { get; set; }
}
それ以外の場合は、::例外テキストは
var filter = Builders<Book>.Filter.Eq("_id", new ObjectId(id));
にはすべての例外が存在しないと結果が適切なエンティティインスタンスが含まれています。 x.Id
を使用すると、_id
フィールドで検索することを意味するが、それを行う方法はわからないということを判断するために、カスタムシリアライザを実装する必要があるようです。あるいは、この仕事をするための他の方法がいくつかありますか?
あまりにも長い間anasweringないため申し訳ありません。ありがとう。あなたのソリューションはまさに私が探していたものです! –
私は助けることができてうれしい – pieperu