Код: Выделить всё
class Client
{
public int id {get; set;}
...
public DateTime CreatedAt {get; set;}
}
Код: Выделить всё
builder.Property(p => p.CreatedAt)
.HasDefaultValueSql("now() at time zone 'utc'")
.ValueGeneratedOnAdd() .Metadata.SetAfterSaveBehavior(Microsoft.EntityFrameworkCore.Metadata.PropertySaveBehavior.Ignore);
Я хочу игнорировать поле CreatedAt во время обновления, и это причина для Metadata.SetAfter... . Однако после SaveChanges() поле CreatedAt остается нулевым/значением по умолчанию.
Я хотел бы каким-то образом проинструктировать EF Core извлекать значение поля CreatedAt во время операции обновления, даже если я этого не делаю. обновите его. Есть ли способ добиться этого?
Я знаю, что можно использовать что-то вроде метода Reload() для перезагрузки всех полей, но это означает, что для 1 операции обновления приложение всегда будет выполняться. 2 запроса к базе данных. И единственная причина второго запроса — просто получить значение поля CreatedAt, что мне кажется не очень хорошим.
Подробнее здесь: https://stackoverflow.com/questions/791 ... date-savec