U kunt berekende kolommen maken in uw databasetabellen. In het EF-model annoteer je gewoon de bijbehorende eigenschappen met de DatabaseGenerated
kenmerk:
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public double Summ { get; private set; }
Of met vloeiende mapping:
modelBuilder.Entity<Income>().Property(t => t.Summ)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)
Zoals voorgesteld door Matija Grcic en in een opmerking, is het een goed idee om de eigenschap private set
te maken , omdat u het waarschijnlijk nooit in de toepassingscode wilt instellen. Entity Framework heeft geen problemen met private setters.
Opmerking: Voor EF .NET Core moet u ValueGeneratedOnAddOrUpdate gebruiken omdat HasDatabaseGeneratedOption niet bestaat, bijvoorbeeld:
modelBuilder.Entity<Income>().Property(t => t.Summ)
.ValueGeneratedOnAddOrUpdate()