Предоставляет ли EF Core способ привязки свойства «только для получения» к базе данных? - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть клиентский объект с вычисленным значением Fullname, который я хочу сохранить в базе данных, но не хочу / не хочу, чтобы он возвращался из базы данных, поскольку он вычисляется из других полей.

public class Client
{
   public int Id {get; set;}
   public string Firstname {get; set;}
   public string Middlename {get; set;}
   public string Lastname {get; set;}

   public string Fullname => this.FormatName(NameFormats.LastFirst);
}

В этом случае я хочу, чтобы оно было в базе данных, чтобы пользователи, создающие отчеты, могли использовать полное имя для печати / распечатки без необходимости его вычисления.Но мне не нужно возвращать его в мою модель предметной области, потому что она всегда вычисляется из Firstname и Lastname, которые уже извлекаются из базы данных.

Можно ли определитьсвойство "хранить только в базе данных" в сущности с EF Core?

1 Ответ

0 голосов
/ 17 сентября 2018

Решение от команды EF Core на GitHub было следующим:

Мы обсуждали это в # 7946 и решили, что для этого сценария целесообразно иметь пустой установщик.Например:

public string Fullname
{
    get => $"{this.Lastname}, {this.Firstname}";
    private set { }
}
...