C# 将同步方法包装为异步方法,该异步方法可以是';等待';在上面
我有一个同步电话:C# 将同步方法包装为异步方法,该异步方法可以是';等待';在上面,c#,asynchronous,windows-phone-8,C#,Asynchronous,Windows Phone 8,我有一个同步电话: _context.User.Where((u) => (u.UserID == twitterId && u.Type == UserType.Show)).SingleOrDefault(); 我需要包装成一个异步的,我可以使用wait关键字等待 我怎样才能做到这一点 谢谢。您需要使用任务包装您的同步呼叫。运行方法 var user = await Task.Run(() => _context.User .Whe
_context.User.Where((u) => (u.UserID == twitterId && u.Type == UserType.Show)).SingleOrDefault();
我需要包装成一个异步的,我可以使用wait
关键字等待
我怎样才能做到这一点
谢谢。您需要使用
任务包装您的同步呼叫。运行方法
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
。