簡體   English   中英

實體框架擴展方法(局部類)

[英]Entity Framework extension method (partial class)

假設我有以下代碼

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>();
        }
    }
}

問題是在新的MyEntities()。Logs之后我看不到TakeFirst50OrderDateDesc。 定義分部類的構造函數可能錯誤嗎? 我該如何解決? 謝謝

嘗試使用擴展方法,例如:

public static IQueryable<Log> TakeFirst50OrderDateDesc(this IQueryable<Log> top50)
{
    return top50.OrderByDescending(o => o.Date)
    .Take(50);

}

然后,您可以完全按照期望的方式訪問它:

var logs = context.Logs.TakeFirst50OrderDateDesc().ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM