使用Linq to Sql与新的async/await异步

Use*_*rol 6 .net linq-to-sql async-await .net-4.5

方法async/await相比,将L2S与新C#5 关键字一起使用的最佳做法是什么?在网上找不到任何内容.

Jim*_*ley 6

EF 5没有async/await支持,但开源版本正在积极研究这里的可能性.编辑:EF中的异步支持记录在http://msdn.microsoft.com/en-us/data/jj819165.aspx.它不会将结果流式传输,因为它们是水合的(正如您在RX中所发现的那样),但它确实使数据库调用异步.

对于LINQ to SQL,除了在Task.Factory.Start操作中包装您的请求之外,我不会屏住呼吸,希望Microsoft为Linq to SQL实现基于异步(async/await所需)的任务.

如果绝对必要,您可以使用IQToolkit并扩展它,添加您自己的异步支持.此外,Mono已经实现了LINQ to SQL,您可以通过异步支持扩展它.