2
在C#中使用EF6我可以很容易地作出这样的异步操作:异步EF查询在F#
using (var context = new MyDbContext()) {
var item = await context.SomeEntities.Where(e => e.Id == 1).FirstAsync();
DoSomething(item);
}
我怎么能这样做与F#异步工作流程一样吗?我知道query
工作流程以及如何使用它来代替LINQ,但我不知道如何使它正确异步(即没有永久消耗线程池,就像在C#示例中一样)。这是我走到这一步,(它是同步):
use context = MyDbContext()
let item = query {
for e in context.SomeEntities
where (e.Id = 1)
head
}
DoSomething item
我正在寻找(在C#中的查询类似于FirstAsync
)像headAsync
一些操作或其他可靠的解决方案。
傻了我,没有想过这件事。谢谢! – ForNeVeR