Du kan skapa beräknade kolumner i dina databastabeller. I EF-modellen kommenterar du bara motsvarande egenskaper med DatabaseGenerated
attribut:
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public double Summ { get; private set; }
Eller med flytande kartläggning:
modelBuilder.Entity<Income>().Property(t => t.Summ)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)
Som föreslagits av Matija Grcic och i en kommentar är det en bra idé att göra fastigheten private set
, eftersom du förmodligen aldrig skulle vilja ställa in det i applikationskoden. Entity Framework har inga problem med privata sättare.
Obs! För EF .NET Core bör du använda ValueGeneratedOnAddOrUpdate eftersom HasDatabaseGeneratedOption inte existerar, t.ex.:
modelBuilder.Entity<Income>().Property(t => t.Summ)
.ValueGeneratedOnAddOrUpdate()