Eh,
:-) sonsuz tartışma Evet, sıkıca EF4'ü kesinlikle prime time için hazır olduğuna inanıyoruz - Microsoft 1.0 sürümü ile hemen hemen tüm sıkıntılar ve konuların ele olağanüstü bir iş çıkarmış EF
Tüm özelliklerine ihtiyacınız varsa - asal zamanı için hazır.
Linq-to-SQL oldukça basit, no-frills, no-nonsense VEYA mapper - bir veritabanı tablosunu bir CLR nesnesine eşler - ve bu konuda. Çok basit, çok doğrudan - ama SQL Server'ın üstünde oldukça ince bir tabaka. Öte yandan
EF4'ü fazlasıdır
- senin nesne uzayda kavramsal veri modeli
- veritabanı katman üzerinde bir depolama veri modeli
- iki
- veritabanı arasında bir eşleme katmanı - bağımsız
Gerçekten birden çok veritabanına (ve yalnızca SQL Server'a değil) yönelik desteğe ihtiyacınız varsa veya Gerçekten veritabanı yapısını tamamen farklı bir nesne modeline dönüştürebilmek gerekiyor - EF4, başlamak için harika bir yerdir.
Kolay ve hızlı bir şekilde tablo 1: 1 tabloları eşleştirmek mümkün olması gereken basit ve basit küçük ve orta ölçekli bir uygulama varsa, o zaman EF4 basitlik açısından bile yakın geleceğini sanmıyorum ve Linq'den SQL'e performans.
EF4 harika - ve gücüne ihtiyacınız varsa - onunla geçin!
Ancak, gereksinimleriniz çok daha azsa, bu yalnızca aşırı olabilir - Linq-to-SQL kullanmaya devam edeceğim (bundan sonra). Ben Linq-to-SQL dökmek için iyi bir neden görmüyorum - hala tamamen .NET 4'te kullanılabilir, hatta bazı bug fixes and improvements ile kutsanmış ve en az birkaç yıl için etrafında olacak.
Neden bu ikisinden biri olmalı? Niçin NHibernate, Subsonic, vb? –
@mgroves, .NET çerçevesine yerleşik teknolojiye odaklanıyordum, ama haklısınız, kesinlikle iyi ya da daha iyi olabilecek başka teknolojiler var. – devuxer
Microsoft'un ORM paketlerini IDE ile entegre etmesini seviyorum. Açık kaynak projeleri de bunu yapma eğilimindedir. –