gpt4 book ai didi

c# - 检查数据库是否已经有一个 DateTime 等于表单中传递的那个

转载 作者:行者123 更新时间:2023-11-30 21:47:51 28 4
gpt4 key购买 nike

我在 ASP.NET MVC C# 中制作 Web 调度程序。因此,我在我的 Controller 中创建了 ActionResult,如下所示:

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ID,NomeResponsavelEvento,NomeEvento,DataInicioEvento,HorarioInicioEvento,DataFinalEvento,HorarioFinalEvento")] Evento evento)
{
var teste = from x in db.Eventos where x.HorarioInicioEvento.Hour.Equals(evento.HorarioInicioEvento.Hour) select x;

if (ModelState.IsValid)
{
db.Eventos.Add(evento);
db.SaveChanges();
return RedirectToAction("Index");
}
else
{
TempData["ErroHorarioExistente"] = "Já possui um evento no horário informado! Tente outro horário.";
return RedirectToAction("Index");
}

return View(evento);
}

我想做的是检查(可能使用 if 语句)数据库中是否已经在新创建表单事件的同一小时:分钟内有一个事件。我在“var teste”中使用了一些断点,但即使在数据库中已经有一个与我的表单具有相同日期时间的事件,它也总是显示空值。当我尝试在这个问题中做另一个例子时:How to check if a record already exists in the db using asp.Net MVC

我可以让它像这样工作:db.Eventos.Any(ag => ag.DataInicioEvento == evento.DataInicioEvento) 但是这个方法只检查某个日期是否相等,然后它返回 true 已经有一个相同的日期和它的工作原理。但我需要它按小时工作:分钟

最佳答案

首先你应该在 var teste = ... 之后放置断点,因为断点在行执行之前停止。接下来,如果你想要相同的小时和分钟,你可以这样做:

var teste = db.Eventos.Where(ag => 
ag.DataInicioEvento.Hour == evento.DataInicioEvento.Hour
&& ag.DataInicioEvento.Minute == evento.DataInicioEvento.Minute
)

关于c# - 检查数据库是否已经有一个 DateTime 等于表单中传递的那个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38102502/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com