Microsoft ADO.NET Entity Framework, Microsoft'tan (bir şekilde) DB-agnostik (kod) kod yazmanıza izin veren bir Object-Relational Mapping altyapısıdır. Pek çok (örneğin, MySQL, Postgres) için .NET Framework yüklemenizden ayrı bir şey indirmeniz gerekmesine rağmen, tüm önemli DBMS'ler Entity Framework için destek sahibidir.
Not: Henüz DB'ye özgü işlevler için veya yerel SQL'e dışa aktarmamız gereken en az bir durumun olmadığı bir O/RM aracı kullanarak tek bir büyük proje üzerinde çalışmam gerekiyor. performans nedenleri (iyi bir sorgu planı elde etmek için belirli bir şekilde bir sorgu yazmak için gerekli). Ama iyi bir O/RM, SQL yazmak zorunda kalmamak için çoğu zaman işe yarayabilir. sözü
, Varlık Framework geçerli sürümü hemen hemen daha olgun, "olgun" daha derin bir yelpazede destek anlamına gelirken vb NHibernate, SubSonic gibi dimensions-- diğer O/RM çerçeveler bir dizi sınırlıdır DBMS, yerel SQL'e, daha geniş bir topluluk desteğine, daha iyi performansa vb. sahip olmak zorunda kalmadan, bu özelliklerin gerçek bir dünya için görece karmaşık bir proje olduğunu düşünmüyorum. Varlık Çerçevesinin geçerli sürümü, mevcut diğer O/RM araçlarına göre gitmek için en iyi yoldur.
Görünüşe göre, gelecek .NET 4.0/VS2010 version of the Microsoft Entity Framework çok gelişti, bu nedenle yukarıdaki ifade doğru olmayabilir. Yeni Entity Framework, örneğin DDL için destek ekler, böylece DBMS'den bağımsız bir şekilde tablolar ve dizinler oluşturabilirsiniz. Ayrıca, .NET 4.0 Varlık Çerçevesi, harici bir sınamada tutulması gereken O/RM sarmalayıcıları gibi şeyler için önemli olan, oluşturma zamanında kodu otomatik oluşturmak için temiz bir özellik olan T4 Templates adlı bir özellikten yararlanıyor. DB şeması - ve daha iyi (önceden derlenmiş) performans, çalışma zamanına kadar veritabanı sütunlarının türlerini bilmeyen O/RM araçlarından daha iyi sonuç vermelidir.
+1 İyi ve kapsamlı bir cevap. Şu anda EF'nin sadece RDBMS'leri desteklediğine dikkat etmek faydalı olabilir. OP'nin sorduğu şey buydu, bu yüzden cevabınızla ilgili hiçbir sorunum yok, fakat sadece bir RESTful hizmeti aracılığıyla veriye veya bir ilişkisel olmayan ilişkiye ihtiyacınız varsa EF'in size yardımcı olmayacağını belirtmek istiyorum. veri kaynakları. Varlık Framework: –
EntityFramework * MS doğrudan bir ORM * olduğunu Orada Informix (Şeytan'ın kendi veritabanı) –