如何编写async linq

时间:2013-08-11 21:11:26

标签: c# linq entity-framework

我有这个问题:

public static class myClass
{ 

    list<something> myList = new list<something>();

    public void PopulateList()
    {
        var myQuery = from a in db.something
              where a.someproperty == somevar
              select a;   

        myList  = myQuery.Tolist();
    }
}

如何才能使此查询异步?

2 个答案:

答案 0 :(得分:3)

穷人的异步/等待

await Task.Factory.StartNew(() => PopulateList());

编辑

对于那些想要看到它的用途的人

How can i send email one after one in a row?及其后续问题

How do i make that it will send the email only once?

答案 1 :(得分:-2)

实际上更有效的异步返回将是:

await Task.FromResult(PopulateList());

此代码返回已完成的Task,该Task针对需要将同步代码转换为异步的方法进行了优化。

您还需要将返回类型从void更改为Task。

资料来源:Async in ASP.NET来自aspConf 2012