如何使用 EF 和 ASP.NET MVC 获取即将发生的事件列表

How to get a list of upcoming Events using EF & ASP.NET MVC

如何使用 Entity Framework 和 ASP.NET MVC 获取即将发生的事件的数据?

我想显示即将到来的新事件的列表,如果可能的话我想隐藏已经过去的旧事件。下面是我用于日历的数据库 table。

 | EventID | Subject | Description     | Start      | End         | ThemeColour | Course      | IsFullDay 
 +---------+---------+-----------------+------------+-------------+-------------+--------
 | 1       | Work    | Teaching kids   | 24/02/2020 | 24/02/22020 | Blue        | English     | False
 | 2       | Work    | Teaching kid    | 15/01/2020 | 15/01/2020  | Blue        | Maths       | False 
 | 3       | Work    | Teaching Kids   | 19/06/2019 | 19/06/2019  | Green       | Maths       | False 

您需要设置 DbContext,以便 EF 知道如何使用您的数据库。 https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

当你有一个 DbContext 时你可以这样写代码

EventDbContext database = new EventDbContext();
var query = database.Events.Where(evt => evt.Start.Date >= DateTime.Now.Date);
var upcomingEvents = query.ToList();

您的 DbContext 可能被称为其他名称。 EventDbContext 只是一个例子。另外,您的 table 可能不会被称为 "Events",因此也请更改它。

使用 EF 学习 CRUD,然后将 linq 编写为

db.event_tab.Where(x=>x.start> DateTime.Now).ToList()