Kar*_*Kar 22 .net c# mongodb mongodb-csharp-2.0 mongodb-.net-driver
我正在使用官方C#驱动程序来执行FindAll并升级到新的驱动程序2.0.FindAll已过时,将替换为Find.我试图转换一个简单的方法,返回一个列表Class1.无法在文档中找到使用POCO的实际示例
var collection = database.GetCollection<ClassA>(Collection.MsgContentColName);
return collection.FindAll().ToList();
有人可以帮我转换2.0驱动程序并返回列表而不是任务吗?
i3a*_*non 46
编辑:
他们决定添加回同步支持(尽管异步仍然是IO操作的首选),因此您可以简单地使用:
var list = collection.Find(_ => true).ToList();
Run Code Online (Sandbox Code Playgroud)
原版的:
不要在异步代码上同步阻塞.这对性能有害并且可能导致死锁.
如果要使应用程序保持同步,建议您继续使用旧的同步驱动程序.
在新的v2.0驱动程序中,该async选项应如下所示:
async Task FooAsync()
{
var list = await collection.Find(_ => true).ToListAsync();
}
Run Code Online (Sandbox Code Playgroud)
Xtr*_*tes -19
您可以使用 2.0 驱动程序来实现相同的目的,
var collection = database.GetCollection<ClassA>(Collection.MsgContentColName);
var doc = collection.Find(filter).ToListAsync();
doc.Wait();
return doc.Result;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33999 次 |
| 最近记录: |