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