में ईएफ 6 और ईएफ 4.1 के बीच का अंतर मैं इकाई फ्रेमवर्क के लिए शुरुआत कर रहा हूं।फ़ाइलों में पदानुक्रम
मैं ध्यान दें कि जब मैं EF6 with Visual studio 2013
का उपयोग करें: मैं इस टिप्पणी के साथ .Designer.cs
खाली फ़ाइल है
:
// T4 code generation is enabled for model 'C:\Users\Luka\Desktop\Test\EF-db2008\AdventureWorks\AdventureWorksLib\AdventureWorksLib\AWLTModel.edmx'.
// To enable legacy code generation, change the value of the 'Code Generation Strategy' designer
// property to 'Legacy ObjectContext'. This property is available in the Properties Window when the model
// is open in the designer.
// If no context and entity classes have been generated, it may be because you created an empty model but
// have not yet chosen which version of Entity Framework to use. To generate a context class and entity
// classes for your model, open the model in the designer, right-click on the designer surface, and
// select 'Update Model from Database...', 'Generate Database from Model...', or 'Add Code Generation
// Item...'.
.Context.tt
और इस तरह कोड के साथ अपने .Context.cs
:
public partial class AWLTEntities : DbContext
{
public AWLTEntities()
: base("name=AWLTEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<Address> Addresses { get; set; }
public virtual DbSet<Customer> Customers { get; set; }
}
और तो .tt
फ़ाइल .cs
फ़ाइल के साथ फ़ाइल इस तरह Customer.cs
तरह प्रत्येक इकाई कोड के साथ के लिए:
public partial class Customer
{
public Customer()
{
this.NameStyle = false;
this.CustomerAddresses = new HashSet<CustomerAddress>();
this.Orders = new HashSet<Order>();
}
public int CustomerID { get; set; }
}
यह है पूरी तरह से अलग जब मैं EF4.1 with visual studio 2010
उपयोग करते हैं, वहाँ मॉडल के लिए फ़ाइल .Designer.cs
के पीछे केवल एक ही कोड है !!
- कुछ एक मदद कर सके मुझे समझने की क्या के लिए इन सभी फ़ाइलों हैं
.Context.tt
,.Context.cs
,.tt
,.cs
? और क्या के विभिन्न दो मामलों(EF6,EF4.1)
के बीच फ़ाइलों पदानुक्रम में? - मैं
EF6
मेंOnPropertyChanging(Value) & OnPropertyChanged()
!! मेरी संस्थाओं को मान्य करने के क्यों इन तरीकों अब मौजूद नहीं हैं और कैसे मेरे गुण मान्य करने के लिए यदि वे मौजूद नहीं है नहीं मिल सकता है?
यह भी ध्यान देने योग्य है कि ईडीएमएक्स है ईएफ 7 में जा रहा है। इसलिए इनमें से कोई भी ईएफ 6 के बाद लागू नहीं होगा। – danludwig
हां, लेकिन यह ईएफ 7 में एक अलग धागा के लायक है, एक टिप्पणी नहीं है) लेकिन संक्षेप में - हमारे वर्तमान प्रोजेक्ट पर हम ईएफ 7 में अपग्रेड नहीं कर सकते हैं - हम मौजूदा डेटाबेस और "डीबी से मॉडल अपडेट करें" दृष्टिकोण का उपयोग करते हैं, जो [अच्छी तरह से समर्थित नहीं है] (http://blogs.msdn.com/b/adonet/archive/2014/10/21/ef7-what-does-code -first-केवल-सच-mean.aspx)। उदाहरण के लिए, हमारे पास कस्टम मैपिंग नाम हैं, और अगर हम कोड फर्स्ट के लिए रिवर्स-इंजीनियर का उपयोग करेंगे, तो वे रीसेट हो जाएंगे, और हम अपने सभी कोड में नामकरण नहीं कर सकते - बहुत बड़े रिफैक्टरिंग। और फ़ंक्शन मैपिंग कोड पहले में समर्थित नहीं हैं। –
और मुझे लगता है कि ईएफ 6 के बाद कोई नहीं होगा क्योंकि ईएफ 7 बस [बहुत अधिक भिन्न है] (http://blogs.msdn.com/b/adonet/archive/2014/10/27/ef7-v1- या-v7.aspx), इसलिए हमारे पास अलग-अलग ज़रूरतों के लिए 2 ढांचे भी हो सकते हैं - ईएफ 6 और ईएफ 7. –