Neden Entity Framework kullanmalıyız?

  1.  Linq to sql ile veya entity framework ile kolaylıkla select * from tablo_adi gibi bir sorgunun sonucunu kolonları ile class olarak alabilirsiniz.
  2.  Asp.net'de Strongly Type .net 4.5 ile gelen Eval(“KolonAdi”) yerine intellisense desteği ile Item.KolonAdi Yazmamızı sağlayan güzellik.  Tabi burada Repeater'ın ItemType="" özelliğine bağlanan verinin tipini yazmanız gerekiyor. Örneğin bir öğrenci tablonuz varsa ItemType="Students" şeklinde yazdığınızda <%#item.name%> şeklinde veriyi basabilirsiniz.
  3.  Oluşturma, Okuma, Güncelleme, Ekleme, Silme  Cruid (Create, Read, Update, Insert, Delete) işlemlerini daha az kod ve daha hızlı bir şekilde yaparsınız.
  4.  Web Servis geliştiriyorsanız DataSet/DataTable Dönüş yapamazsınız. Donus değeriniz fazla büyük olur. POCO oluşturup datasetdeki verileri ona doldurup göndermeniz gerekir. EF ile direk tabloyu dönebilirsiniz.
  5.  Entity framework ve linq to sql de kodlar t-sql dönüştüğünde Sql Injection'ı önlemek için parametre kullanır ve bunun önüne geçer
  6. Performans. Tabi bu durum göreceli bir durum ancak. Entity framework sahip olduğu cache özelliği sayesinde sorgu ve sonuçları bellekte ya da Redis gibi dağıtım sistemlerde cachelemenize olanak sağlar. (Entity Framework Second Level Cache)
  7. Asp.net mvc de cruid işlemleri için entity framework ile bir çözüm mevcut. Control eklerken “MVC5 controller with views, using entity framework” seçeneğini seçtiğinizde sizin için  Insert Update Delete ve List işlemlerini hazırlar. Kısa sürede tablolarınız için gerekli kodları yazar ufak düzenlemeler ile her projede olan Cruid işlemlerini kolaylaştırmış olursunuz. 
  8. Generic Listler in faydaları. Linq veya entity framework kullandığında kodlar tekrar sorgulanabilirdir. Örneğin gelen datadan Lambda İfadeleri ile bunları Filtreleyebilir (Where), Sıralayabilir(OrderBy), istediğiniz kadarını alabilir(Take), İstediğiniz kadarını atlayabilir(Skip)  bu ve bunun gibi işlemleri hızlıca yapabilirsiniz. Ado.Net ile bu işlemleri yapabilirsiniz ama önce klasik Ado.Net işlemleri yapıp sonra bunları oluşturacağınız bir Class'ın Listesi içine doldurmanız gerekir 

Kaynak 

İyi Kodlar!