Sie können berechnete Spalten in Ihren Datenbanktabellen erstellen. Im EF-Modell kommentieren Sie einfach die entsprechenden Eigenschaften mit dem DatabaseGenerated
Attribut:
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public double Summ { get; private set; }
Oder mit fließendem Mapping:
modelBuilder.Entity<Income>().Property(t => t.Summ)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)
Wie von Matija Grcic und in einem Kommentar vorgeschlagen, ist es eine gute Idee, die Eigenschaft private set
zu machen , da Sie es wahrscheinlich nie im Anwendungscode festlegen möchten. Entity Framework hat keine Probleme mit privaten Settern.
Hinweis: Für EF .NET Core sollten Sie ValueGeneratedOnAddOrUpdate verwenden weil HasDatabaseGeneratedOption nicht existiert, zB:
modelBuilder.Entity<Income>().Property(t => t.Summ)
.ValueGeneratedOnAddOrUpdate()