V tabulkách databáze můžete vytvářet počítané sloupce. V modelu EF stačí anotovat odpovídající vlastnosti pomocí DatabaseGenerated
atribut:
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public double Summ { get; private set; }
Nebo s plynulým mapováním:
modelBuilder.Entity<Income>().Property(t => t.Summ)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)
Jak navrhl Matija Grcic a v komentáři, je dobré, aby byla vlastnost private set
, protože to pravděpodobně nikdy nebudete chtít nastavit v kódu aplikace. Entity Framework nemá žádné problémy se soukromými nastavovači.
Poznámka: Pro EF .NET Core byste měli použít ValueGeneratedOnAddOrUpdate protože HasDatabaseGeneratedOption neexistuje, např.:
modelBuilder.Entity<Income>().Property(t => t.Summ)
.ValueGeneratedOnAddOrUpdate()