Kolumny obliczaneComputed Columns

Uwaga

Konfiguracja opisana w tej sekcji ma zastosowanie do relacyjnych baz danych w zasadzie.The configuration in this section is applicable to relational databases in general. Metody rozszerzenia pokazane staną się dostępne po zainstalowaniu dostawcy relacyjnej bazy danych (z powodu udostępnionego Microsoft.EntityFrameworkCore.Relational pakietu).The extension methods shown here will become available when you install a relational database provider (due to the shared Microsoft.EntityFrameworkCore.Relational package).

Kolumna obliczana jest kolumna, której wartość jest obliczana w bazie danych.A computed column is a column whose value is calculated in the database. Kolumny obliczanej służy do obliczania wartości innych kolumn w tabeli.A computed column can use other columns in the table to calculate its value.

KonwencjeConventions

Konwencja kolumnach obliczanych nie są tworzone w modelu.By convention, computed columns are not created in the model.

Adnotacji danychData Annotations

Nie można skonfigurować kolumny obliczane przy użyciu adnotacji danych.Computed columns can not be configured with Data Annotations.

Interfejsu API FluentFluent API

Aby określić właściwości powinny być mapowane na kolumny obliczanej, można użyć interfejsu API Fluent.You can use the Fluent API to specify that a property should map to a computed column.

class MyContext : DbContext
{
    public DbSet<Person> People { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Person>()
            .Property(p => p.DisplayName)
            .HasComputedColumnSql("[LastName] + ', ' + [FirstName]");
    }
}

public class Person
{
    public int PersonId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string DisplayName { get; set; }
}