I'm using mvc 5 and wanna define extension method FindMessageAsync
in class Queryable
(namespace System.Linq).
I usually use this way to get some records in database:
public void GetMessage(string id)
{
using (var db = new MyDbContext())
{
var message = db.Message.FirstOrDefault(x => x.Id == id);
//or
var _message = db.Message.Where(x => x.Id == id).ToList();
//do stuff
}
}
I wanna improve the method to:
public async Task<MessageViewModels> GetMessage(string id)
{
using (var db = new MyDbContext())
{
var message = await db.Message.FindMessageAsync(x => x.Id == id);
if (message != null)
{
//string id = message.Id;
//string fromUser = message.FromUser;
//string toUser = message.ToUser;
//string content = message.Content;
//bool isRead = message.IsRead;
}
//do stuff
}
}
My question is: How to define extension method FindMessageAsync
?
UPDATE:
The answers of this question don't solve my problem.