我正在尝试使用mongodb
新的c#
驱动程序,即版本2.x
。
我想将所有Entity
对象检索为List<Entity>
,但ToListAsync
似乎只返回List<BsonDocument>
,
var collection = _db.GetCollection<Entity>("EntityTable");
var ret = await collection.Find("{}").Project(Builders<Enity>.Projection.Exclude("_id")).ToListAsync();
我如何获得List<Entity>
?
答案 0 :(得分:1)
只需使用As<TResult>()
方法(它是MongoDB.Driver.IFindFluent<TDocument, TProjection>
界面的一部分)。
这是您的代码,已更新为使用此方法:
var ret = await collection
.Find("{}")
.Project(Builders<Entity>.Projection.Exclude("_id"))
.As<Entity>()
.ToListAsync();
您可能需要将[BsonIgnoreExtraElements]
属性添加到Entity
类才能使其正常工作。
答案 1 :(得分:0)
是@Donut,您也可以这样使用
var ret = await collection
.Find("{}")
.Project<Entity>(Builders<Entity>.Projection.Exclude("_id"))
.ToListAsync();