Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cột được tính toán trong Mã EF Đầu tiên

Bạn có thể tạo các cột được tính toán trong các bảng cơ sở dữ liệu của mình. Trong mô hình EF, bạn chỉ cần chú thích các thuộc tính tương ứng với DatabaseGenerated thuộc tính:

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

Hoặc với lập bản đồ thông thạo:

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

Theo đề xuất của Matija Grcic và trong một nhận xét, bạn nên đặt thuộc tính private set , bởi vì bạn có thể không bao giờ muốn đặt nó trong mã ứng dụng. Entity Framework không có vấn đề gì với bộ thiết lập riêng.

Lưu ý: Đối với EF .NET Core, bạn nên sử dụng ValueGeneratedOnAddOrUpdate bởi vì HasDatabaseGeneratedOption không tồn tại, ví dụ:

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. Làm cách nào để lấy id được chèn lần cuối?

  2. Lỗi đăng nhập máy chủ SQL:Đăng nhập không thành công cho người dùng 'NT AUTHORITY \ SYSTEM'

  3. Ví dụ về Chèn máy chủ SQL

  4. Hội thảo trên web:Theo dõi tiến trình truy vấn trong SQL Server

  5. Các ký tự tối đa cho NVARCHAR (MAX) là bao nhiêu?