Когда я добавляю новую запись в базу данных, используя сервис
Если вы сделаете это, он уже должен заполнить вычисленные данные для вас в текущем экземпляре объекта. Вам просто нужно пометить столбец как вычисленный сначала в коде:
modelBuilder.Entity<YourEntity>()
.Propety(e => e.YourComputedProperty)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
или аннотации данных
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
или EDMX через StoreGeneratedPattern
в том же сеансе, запрашивающем базу данных у этой записи, он возвращает мне всю информацию, кроме той, которая находится в вычисляемых столбцах с нулевым значением
Возвращает текущее состояние, известное по контексту из-за карты идентификации . EF на самом деле не загружает данные из базы данных снова (даже если выполняет запрос), если вы не заставите это сделать это. По умолчанию он использует данные, уже сохраненные в контексте - данные, которые вы вставили.
Для принудительной перезагрузки вы можете, например, сделать:
context.Entry(yourEntityToBeReloaded).Reload();