Я создаю веб-приложение ASP.NET MVC для записи заказов.Когда я получаю заказы из базы данных, столбец даты отображается как Null
в интерфейсе, несмотря на то, что база данных имеет допустимые значения даты.
У меня есть модель с именем Booking
со следующим свойством / полем.Оба поля Date
& _Date
отображаются как Null
, когда я получаю поле с именем Date
из базы данных.Я могу подтвердить, что методы Setter работают нормально и сохранить локальную дату в формате UTC в базе данных.
[Display(Name = "Date", ResourceType = typeof(Fields))]
[DataType(DataType.Date), DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy HH:mm}")]
[NotMapped]
public DateTime? Date
{
get { return _Date; }
set
{
_LocalDateTime = value;
if (_Date is null)
{
_Date = DateUtilities.FromTimeZone(_LocalDateTime + LocalTime);
}
}
}
[Column("Date",TypeName = "Date")]
public DateTime? _Date { get; set; }
public DateTime? _LocalDateTime;
У меня под контроллером, который выбирает бронирование из базы данных.
public ActionResult Details(Guid? id = null)
{
var booking = new Booking();
if (id == null) return View(booking);
booking = Uow.Bookings.Get(u => u.Id == id);
if (booking == null)
{
return HttpNotFound();
}
return View(booking);
}
Я проследил запрос SQL, который отправляется через Uow.Bookings.Get, и выполнил этот запрос в базе данных и получил правильные значения даты, такие как
Дата = 2019-05-17
вот мое мнение
<div class="mb-lg">
@Model.Date.GetValueOrDefault().ToString("dd MMM yyyy") -
@Utilities.TimeSpanToHours(Model.StartTime, true)
</div>
Я ожидаю, что свойство / поле Date
/ _Date
вернет действительное значение 2019-05-17
из базы данных.