Модель MVC показывает ноль для поля даты.Как это исправить? - PullRequest
0 голосов
/ 18 мая 2019

Я создаю веб-приложение 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 из базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...