Corbex Ответов: 1

Столбец Datetime и Entity framework


Моя модель данных (Entity Framework 6.1.3, ASP.NET MVC 5, Code First with an existing database, SQL Server 2016) включает в себя “Заглавие"стол с “Модифицированная дата” (значение datetime, Столбец DEFAULT (getdate)).

При создании новой записи в браузере пользователю предлагается ввести значение ModifiedDate вместо того, чтобы SQL Server применял их автоматически. Я попробовал несколько трюков, которые мог придумать (я даже создал триггер AFTER UPDATE в таблице, чтобы установить дату), но безуспешно. После удаления столбца ModifiedDate из модели и создания нового контроллера и представлений значения применяются SQL Server, но я больше не могу видеть эти значения.

Путем повторной установки столбца ModifiedDate и применения параметра [DatabaseGenerated(DatabaseGeneratedOption.Компьютерная)] атрибут я тогда в состоянии создать новую запись, но при редактировании существующей записи нового значения в поле modifieddate не создается, а только значение, которое отображается в текстовом поле modifieddate применяется (то есть дата, когда запись была создана). Мне интересно, как справиться с этой ситуацией. Я просто хочу, чтобы сервер применил значение ModifiedDate и смог увидеть это значение.

Вот код модели:


[Table("Title")]
public partial class Title
{
    public int TitleID { get; set; }

    [Required]
    [StringLength(50)]
    public string Title { get; set; }

    public DateTime ModifiedDate { get; set; }
}


Заранее спасибо, Корбекс.

Что я уже пробовал:

Вместо этого я попробовал эту модель:
[Table("Title")]
public partial class Title
{
    public int TitleID { get; set; }

    [Required]
    [StringLength(50)]
    public string Title { get; set; }

    [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public DateTime ModifiedDate { get; set; }
}

1 Ответов

Рейтинг:
2

Corbex

Привет, шестые планеты. Спасибо за ваш ответ. Боюсь, что это немного сложно для меня, так как я только начинаю C#/MVC/Entity Framework. У меня уже есть база данных, и я пытаюсь создать к ней пользовательский интерфейс. Мне не нужно, чтобы все таблицы включали столбцы измененной даты (datetime). Есть ли более простое решение этой проблемы?