Microsoft sağolsun, visual studio ya entegre, durmadan geliştiriliyor, wcf data services ile kardeş gibi çalışıyor, tamamen linq ile tek satır sql kodu yazmadan işleri hızlandırıyor, lazy loading var, stored procedure'leri tıklama ile entiry e bağlamak çocuk işi, dökümantasyon çok güçlü.

Bunlar artı yönlenleri. Ama eksikleri var. Misal en gıcık olduğum: select işleminde isimsiz sınıf tanımlanamıyor! Tip çevirmelerde illa bir değişkeni göstermek gerekiyor. Örnek:

Alıntı
//hata fırlatacak!
dataContext.tablo.Where(p=>p.Id == Convert.ToInt32("1"));

//çalışacak.
int id = 1;
dataContext.tablo.Where(p=>p.Id == id);
bu sorun değil, tamamen okunaklı ve type safe bir kod ama bazı durumlarda fıtık edebiliyor.

şu ise feci küfür savurtuyor!
Alıntı
List<tablo> tablo = dataContext.tablo.Where(p=>p.Id >10 && p.SilindiMi == false).Select(p=>new Tablo{Id = p.Id, SilindiMi = p.SilindiMi, Adi = p.Adi}).ToList();
Direkt hata fırlatacak bu. Kompleks bir sınıf istedin ve ben bunu çeviremem diyecek! LinqToSql de bu direkt çalışıyordu...

Yukarıdaki kod şunu üretip geriye propertieslerine atanan verileri vermesini beklersin:

select t.Id, t.SilindiMi, t.Adi from Tablo t WHERE t.Id>10 and t.SilindiMi = False;

Ama hata fırlatıyor!

Şöyle yaz diyor:

Alıntı
List<tablo> tablo = dataContext.tablo.Where(p=>p.Id >10 && p.SilindiMi == false).ToList().Select(p=>new Tablo{Id = p.Id, SilindiMi = p.SilindiMi, Adi = p.Adi}).ToList();
bu sefer de sorguda bütün sütunlar çekiliyor! Ve bellekte tekrar foreach dönerek senin listeni dolduruyor! Oluşturduğu sorguları görsen korkarsın. IntelliTrace i açıp debug anında bir breakpoint koy şu satırın altına ve dataContext üzerinde dur. Oluşan sorgular insanı korkutuyor.

Anlamadığım şu: EF iç içe sorgu oluşturuyor. Bu da performansı çok düşürüyor. Özellikle veri çekip bu veriyi farklı bir sorgu ile tekrar işlemek gerektiğinde resmen felç ediyor. İşlemcinin tavan yaptığını gördüm bir projede. İşin yoksa kastır dur.

Bir çok orm tool var:

Telerik:
http://www.telerik.com/data-access/g...tity-framework

Karşılaştırmalar:
http://stackoverflow.com/questions/3...amework-4-ctp4

Valla en hızlısı dabber ve ardından petapoco geliyor. Ama amelelik yaptırıyor mu? Evet, dizayn aracı yok. 4T template kabul ediyorlar ama uğraşıyorsun.