私は以前のSO articleで提案を使用し、c#でmongodbにアクセスしました。c#でmongodbコレクションを返すとNULLが返される
著者のBelgiは本質的に追加のObjectIdプロパティを持つPOCOのラッパーオブジェクトを使用しました。
その記事から:このラッパーを使用して
public static class Extensions
{
public static T Unwrap<T>(this MongoObject<T> t)
{
return t.Element;
}
}
public class MongoObject<T>
{
[BsonId]
private ObjectId _objectId;
public T Element { get; }
public MongoObject(T element)
{
Element = element;
_objectId = new ObjectId();
}
}
、私がコレクションを照会しようとした:
IMongoDatabase db = client.GetDatabase("test");
IMongoCollection<MongoObject<MyClass>> collection = db.GetCollection<MongoObject<MyClass>>("mylist");
IMongoQueryable<MyClass> list = collection.AsQueryable().Select(t=>t.Element);
int count = list.Count();
予想通りカウントは5です。しかし、私がリストコレクションを反復するとき、リストの5つのメンバーのそれぞれはnullです。
foreach (MyClass item in list)
私が間違っていることについてのアイデアはありますか?