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/