Du kan oprette beregnede kolonner i dine databasetabeller. I EF-modellen anmærker du blot de tilsvarende egenskaber med DatabaseGenerated
attribut:
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public double Summ { get; private set; }
Eller med flydende kortlægning:
modelBuilder.Entity<Income>().Property(t => t.Summ)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)
Som foreslået af Matija Grcic og i en kommentar, er det en god idé at gøre ejendommen til private set
, fordi du sandsynligvis aldrig vil indstille det i applikationskoden. Entity Framework har ingen problemer med private opstillere.
Bemærk: For EF .NET Core skal du bruge ValueGeneratedOnAddOrUpdate fordi HasDatabaseGeneratedOption ikke eksisterer, f.eks.:
modelBuilder.Entity<Income>().Property(t => t.Summ)
.ValueGeneratedOnAddOrUpdate()