#c# #asp.net-mvc #asp.net-core
#c# #asp.net-mvc #asp.net-core
Вопрос:
Я создаю инструмент для продажи билетов с использованием .Net MVC. Я застрял в месте, где я хочу показать общее количество билетов, созданных на сегодня.
- Тип данных класса чата
public DateTime? ChatCreateDateTime { get; set; }
- В контроллере
public ActionResult Index()
{
using (Db db = new Db())
{
//Chat dto = new Chat();
//string date = DateTime.Now.ToShortDateString();
ViewBag.todayTicket = db.Chats.Where(x => x.ChatCreateDateTime == DateTime.Today).Count();
return View(db.Chats.ToArray().ToList());
}
}
- В поле зрения
<p>@ViewBag.todayTicket</p>
Отображаемые данные равны 0, что неверно, в инструмент добавлено 6 билетов. Созданная дата также наследует время, когда была нажата кнопка..
Пример создан Дата-время = 18.10.2020 02:30 вечера и дата-время.Сегодня = 18.10/2020 Любая помощь очень ценится.
Комментарии:
1. Вы пробовали ChatCreateDateTime.Date?
Ответ №1:
измените выражение where таким образом:
ViewBag.todayTicket = db.Chats
.Where(x => System.Data.Entity.DbFunctions.TruncateTime(x.ChatCreateDateTime)
== DateTime.Today)
.Count();
Комментарии:
1. Не уверен, что
EntityFunctions.TruncateTime
они доступны в ядре EF. Я бы сказал, что ваш предыдущий ответ был просто прекрасным, за исключением того, что лично я бы использовал.Value
вместо cassting .2. ViewBag.todayTicket = db.Chats. Где(x => System.Data.Entity. Dbфункции. TruncateTime(x.ChatCreateDateTime) == DateTime . Сегодня). Count();
3. Спасибо Саиду и Гуру за ваши предложения. Очень помогает. Я также хотел узнать, как заставить время создания даты вычесть время окончания даты, но как я могу привести это в действие. Есть предложения?
Ответ №2:
ViewBag.todayTicket = db.Chats
.Where(x => System.Data.Entity.DbFunctions.TruncateTime(x.ChatCreateDateTime)
== DateTime.Today)
.Count();