sql >> Databáze >  >> RDS >> Sqlserver

Vypočítaný sloupec v EF Code First

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()


  1. Přístup ke vzdálené databázi mysql z příkazového řádku

  2. jQuery UI Sortable, pak zapište pořadí do databáze

  3. Android:SQLite šetřící pole řetězců?

  4. Načíst naposledy vloženou IDENTITY Oracle