Linq To Sql | Linq To Entity (ADO.Net Entity Framework) | |
DB | SQL Server | Her türlü ADO.Net data provider |
| Aynı anda desteklenen şema, protocol sayisi | 1 | N |
Many To Many Relation desteği | M-M tablolar birer entitiy olarak tanımlanmalı | Var |
| Relation Multiplicity Ayarı | - | Var |
Map etme şekli | 1 table - 1 class | N table - 1 class |
Hedef Projeler | Çabuk, hızlı projeler | Kurumsal yazılımlar |
Kompleks tiplerin yaratılması (örneğin adres diye bir tip oluşturulabilmesi) | - | Var |
Data Source | Veritabanı tabloları | Veritabanı tabloları, replication, Reporting Services, BI, vbl. |
Sorgulama | 1. Linq to Sql | 1. Linq to sql |
2. Data Context | 2. Entity Sql (inheritance destekliyor) | |
3. Entity Client | ||
Veritabanı değişince senkronize edebilme desteği | - | Var |
Performans | çok yavaş | linq to sql'den daha iyi |
Geliştirilme Durumu | Durduruldu | Devam Ediyor |
Data Model'den veritabanı üretilmesi | - | VS2010'da mümkün olacak |
Entity Framework'ün VS2008SP1 üzerinde Kısıtları (Osellus Blogs'dan alıntıdır)
1.) Contains metodu runtime'da hata verecektir. Örnek:
from p in context.Yard_Projects
where p_projectIDs.Contains(p.ProjectID)
select p
2.) Entity Type tipinde dönüş yapmayan procedure'ler için metod generate edilmeyecektir.
(Stored Procedure'leri çalıştırmak için Entity Client'a ihtiyacımız var.)
3.) Tablodaki her kolon map edilmek zorundadır. Aksi takdirde compile error alacağız.
4.) Birçok tablodan veri dönen bir stored procedure'e referans kullanan bir metod yaratmak istiyorsak,
.edmx file'ı içinde yer alan "SSDL" bölümünü elle değiştirmemiz gerekmektedir.
Hiç yorum yok:
Yorum Gönder