ในการสอนโค้ด EF 4.1 รหัสแรกจะได้รับรหัสต่อไปนี้:
public class Department
{
public int DepartmentId { get; set; }
[Required]
public string Name { get; set; }
public virtual ICollection<Collaborator> Collaborators { get; set; }
}
จากนั้นจะอธิบายว่าอินเทอร์เฟซที่คล่องแคล่วมีความยืดหยุ่นมากขึ้น:
คำอธิบายประกอบข้อมูลนั้นใช้งานง่ายอย่างแน่นอน แต่ควรใช้วิธีการเขียนโปรแกรมที่ให้ความยืดหยุ่นมากกว่า
ตัวอย่างของการใช้ส่วนต่อประสานที่คล่องแคล่วจะได้รับ:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Department>().Property(dp => dp.Name).IsRequired();
modelBuilder.Entity<Manager>().HasKey(ma => ma.ManagerCode);
modelBuilder.Entity<Manager>().Property(ma => ma.Name)
.IsConcurrencyToken(true)
.IsVariableLength()
.HasMaxLength(20);
}
ฉันไม่เข้าใจว่าทำไมอินเทอร์เฟซที่คล่องแคล่วดีกว่าที่คาดคะเน มันจริงเหรอ? จากมุมมองของฉันดูเหมือนว่าคำอธิบายประกอบข้อมูลจะชัดเจนยิ่งขึ้นและมีความรู้สึกที่ชัดเจนมากขึ้น
คำถามของฉันคือทำไมส่วนต่อประสานที่คล่องแคล่วจะเป็นตัวเลือกที่ดีกว่าการใช้แอตทริบิวต์โดยเฉพาะในกรณีนี้
(หมายเหตุ: ฉันค่อนข้างใหม่กับแนวคิดทั้งหมดของส่วนต่อประสานที่คล่องแคล่วดังนั้นโปรดคาดหวังว่าจะไม่มีความรู้ก่อนหน้านี้)
การอ้างอิง: http://codefirst.codeplex.com/