Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изчислена колона в EF Code First

Можете да създавате изчислени колони в таблиците на вашата база данни. В модела EF просто отбелязвате съответните свойства с DatabaseGenerated атрибут:

[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public double Summ { get; private set; } 

Или с плавно картографиране:

modelBuilder.Entity<Income>().Property(t => t.Summ)
    .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed)

Както беше предложено от Matija Grcic и в коментар, добра идея е да направите имота private set , защото вероятно никога не бихте искали да го зададете в кода на приложението. Entity Framework няма проблеми с частните настройки.

Забележка: За EF .NET Core трябва да използвате ValueGeneratedOnAddOrUpdate тъй като HasDatabaseGeneratedOption не съществува, напр.:

modelBuilder.Entity<Income>().Property(t => t.Summ)
    .ValueGeneratedOnAddOrUpdate()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мога ли да задам схема по подразбиране за в рамките на съхранена процедура?

  2. Форматирайте телефонен номер в SQL Server (T-SQL)

  3. SQL Уникално ограничение за множество таблици

  4. Как да променя db схемата на dbo

  5. Достигане на ограничението от 2100 параметър (SQL Server) при използване на Contains()