Wrap a synchronous method into an async one which can be 'waited' upon

asynchronous, c#, windows-phone-8

Solution

You need to wrap your sync call using `Task.Run` method.

var user = await Task.Run(() => 
   _context.User
           .Where(u => u.UserID == twitterId && u.Type == UserType.Show)
           .SingleOrDefault());

Keep in mind that EntityFramework in version 6.0 will have async interfaces, so you would no longer need to use this code.

Problem

I have a synchronous call: ``` _context.User.Where((u) => (u.UserID == twitterId && u.Type == UserType.Show)).SingleOrDefault(); ``` That I need to wrap into an async one which I can wait on using the `await` keyword. How can I achieve this? Thanks.

Original source