Я использую mvc 5 и хочу определить метод расширения FindMessageAsync
в классе Queryable
(namespace System.Linq).Определить новый метод расширения в классе Queryable
Я обычно использую этот способ, чтобы получить некоторые записи в базе данных:
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
}
}
Я хочу улучшить этот метод к:
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
}
}
Мой вопрос: Как определить метод расширения FindMessageAsync
?
UPDATE:
Ответы this question не решить мою проблему.
Как вы думаете, это должен быть метод расширения IQueryable? Мне кажется, что это очень специфично для вашей модели домена. –
@ DannyChen Пожалуйста, повторно откройте мой вопрос. Это не дублирует. –
@ ЮвалИцчаков я. Класс 'Queryable' содержит метод расширения' IQueryable'. –