Khi chúng ta thực thi chương trình ManagingData ở trên, chúng ta sẽ nhận lỗi sau:

Nguyên nhân là do các lớp KhoaSinhVien trong mô hình chưa được định nghĩa các khoá. Để cấu hình thông tin cho các lớp mô hình, chúng ta sử dụng DataAnnotations từ namespace System.ComponentModel.DataAnnotations gồm một số thuộc tính quan trọng sau:

  • Key
  • Timestamp
  • ConcurrencyCheck
  • Required
  • MinLength
  • MaxLength
  • StringLength

Thông tin chi tiết về DataAnnotations có thể tham khảo tại https://www.tutorialspoint.com/asp.net_mvc/asp.net_mvc_data_annotations.htm hay https://msdn.microsoft.com/en-us/library/jj193542(v=vs.113).aspx .Trong bài này chỉ áp dụng thuộc tính Key để cấu hình khoá cho các lớp KhoaSinhVien. Mở tập tin Khoa.cs và thêm namespace System.ComponentModel.DataAnnotations và từ thuộc tính Key như sau:


using System;

...

using System.ComponentModel.DataAnnotations;

namespace ManagingData

{

  public class Khoa

  {

     [Key]

     public string MaKhoa { get; set; }

     public string TenKhoa { get; set; }

     public virtual List<SinhVien> SinhViens { get; set; }

  }

}

Tương tự với tập tin SinhVien.cs


using System;

...

using System.ComponentModel.DataAnnotations;

namespace ManagingData

{

  public class SinhVien

  {

   [Key]

   public string MaSV { get; set; }

   public string TenSV { get; set; }

   public string Email { get; set; }

   public string MaKhoa { get; set; }

   public virtual Khoa Khoa { get; set; }

  }

}

Lúc này có thể thực thi lại chương trình.

Học C# và WPF >