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

Posted

技术标签:

【中文标题】如何使用 EF & ASP.NET MVC 获取即将发生的事件列表【英文标题】:How to get a list of upcoming Events using EF & ASP.NET MVC 【发布时间】:2020-06-07 01:07:09 【问题描述】:

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

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

 | 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 

【问题讨论】:

到目前为止你有什么尝试? 有大约 50 亿种方法可以做到这一点。您应该阅读如何创建具有数据库访问权限的 mvc 应用程序的教程。 目前还没有@Phong 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

您需要设置一个 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 只是一个示例。此外,您的表格可能不会被称为“事件”,所以也要更改它。

【讨论】:

以上是关于如何使用 EF & ASP.NET MVC 获取即将发生的事件列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MVC3 ASP.NET 4.5 和 EF6 基于实体属性注释对 TextBoxFor 进行舍入

ASP.NET MVC和EF集成AngularJS开发

如何使用 EF 在 asp.net MVC 中进行多种方法的一项事务

如何在 Asp.Net 5 (MVC 6) 中使用实体框架 6.x

如何使用 EF Core 代码优先迁移为 ASP.NET Core MVC 配置 N 层架构

如何仅保存/更新父实体而不将其子实体保存在 asp.net mvc 的 EF6 中?