Создан столбец времени со значением по умолчанию Now () с использованием моделей сущностей первого кода - PullRequest
0 голосов
/ 14 июля 2020

Функцию postgres Now () можно использовать для установки времени создания для любой строки. Это определяется как это с помощью postgresql:

CREATE TABLE student
(
    stud_id serial PRIMARY KEY,
    stud_name Text NOT NULL,
    created_date TIMESTAMPTZ DEFAULT Now()
);

Проблема в том. Я использую подход «сначала код» с моделями сущностей. Как я могу достичь той же функциональности без добавления большого количества дополнительного кода?

Мой класс выглядит так:

public class student
{
    public int stud_id { get; set; }
    public string stud_name { get; set; }
    public DateTime created_date { get; set; }
}

1 Ответ

1 голос
/ 14 июля 2020

HasDefaultValueSql должно работать нормально, и я думаю, что это не так много лишнего кода:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<student>()
        .Property(b => b.created_date)
        .HasDefaultValueSql("NOW()");
}
...