将同步方法包装成可以“等待”的异步方法
我有一个同步通话:
_context.User.Where((u) => (u.UserID == twitterId && u.Type == UserType.Show)).SingleOrDefault();
我需要将其包装成异步的,我可以等待使用await
关键字。
我怎样才能做到这一点?
谢谢。
您需要使用Task.Run
方法包装同步调用。
var user = await Task.Run(() => _context.User .Where(u => u.UserID == twitterId && u.Type == UserType.Show) .SingleOrDefault());
请记住,6.0版中的EntityFramework将具有异步接口,因此您不再需要使用此代码。
在EF6中添加的QueryableExtensions使这变得轻而易举:
await _context.User.SingleOrDefaultAsync(u => u.UserID == twitterId && u.Type == UserType.Show);
不要忘记在EntityFramework.dll中引用System.Data.Entity
上述就是C#学习教程:将同步方法包装成可以“等待”的异步方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1037559.html