Метод расширения Entity Framework (частичный класс)
Предположим, у меня есть следующий код
List<Common.Models.Log> logs = new MyEntities().Logs
.OrderByDescending(o => o.Date)
.Take(50)
.ToList();
при необходимости создать частичный класс "Журналы" для вызова метода, как
List<Common.Models.Log> logs = new MyEntities().Logs.TakeFirst50OrderDateDesc();
Я пытаюсь создать частичный класс для вызова метода из MyEntities(). Журналы
namespace Common.DataLayers
{
public partial class Log : DbSet<Log>
{
public List<Log> TakeFirst50OrderDateDesc()
{
//blablabla
return new List<Log>();
}
}
}
Проблема в том, что я не вижу TakeFirst50OrderDateDesc после новых MyEntities(). Журналы. Возможно ли я неправильно определить конструктор частичного класса? Как я могу это решить? Спасибо
1 ответ
Попробуйте использовать метод расширения, например:
public static IQueryable<Log> TakeFirst50OrderDateDesc(this IQueryable<Log> top50)
{
return top50.OrderByDescending(o => o.Date)
.Take(50);
}
Вы можете получить к нему доступ именно так, как вы ожидаете:
var logs = context.Logs.TakeFirst50OrderDateDesc().ToList();