2

私は ASP.Net で MVC3 Razor チュートリアルを実行し、自分の小さな Web プロジェクトで動作するように少し適応させようと試み始めました。

ここまでで、新しいデータベース レコードに 2 つのフィールドを追加するセクションを作成しました。「News_Item」フィールドと「News_Date」フィールド。

次に、このデータを別のページに表示するときに、最近追加された 4 つのレコードのみを表示したいと考えています。

私のViewコード(以下)はデータベース内のすべてのエントリを問題なく表示しますが、上記のように修正して、最新の4つのレコードのみを表示したいと思います。どうすればこれを行うことができますか?私は初心者であり、開発の実際の経験はありません。

私のコントローラーには、「Get」用の次のコードがあります。

public ViewResult Index()
{
    return View(db.News_Entries.ToList());
}

必要な場合に備えて、モデル コードを次に示します。

namespace dale_harrison.Models
{
    public class News
    {
        public int ID { get; set; }
        public string News_Entry { get; set; }
        public DateTime News_Date { get; set; }
    }

    public class NewsDBContext : DbContext
    {
        public DbSet<News> News_Entries { get; set; }
    }
}

助けてくれてありがとう。

4

2 に答える 2

3

アクションコードを変更する

public ViewResult Index()
{
    return View(db.News_Entries.OrderByDescending(n => n.News_Date).Take(4).ToList());
}

linqtoentityチュートリアルを読む必要があります

于 2012-06-22T10:42:35.197 に答える
2

次のLINQクエリ:

var latest4 = db.News_Entries.OrderByDescending(n => n.News_Date).Take(4);

次のSQLクエリに変換する必要があります。

select top 4 *
from news
order by date desc
于 2012-06-22T10:40:03.607 に答える