- LINQ to SQL (basic)
- Entity Framework (advanced)
tür.
Aralarindaki fark parantez iclerinde de belirtildigi gibi biri basic'tir digeri advanced. Bunun nedeni de LINQ to SQL'in, C# developerlari tarafindan, Entity Framework'un de Ado.Net'ciler tarafindan kodlanmasidir.
Iki farkli arac dedik ama aslinda ikisinin de yaptigi is ayni. Sonucta ikisi de ORM aracidir. Peki nedir bu ORM? Isminden de belli olacagi uzere, iliskisel nesne eslestirimi. Database uzerinden ornek verirsek, sinif ile tabloyu, kolon ile property'i ve satir ile nesneyi eslestirmektir ORM. Bu eslestirmenin sonucunda da Code Generatorler Sql'e bakip tablolara gore sinif, property .. vs. kendisi bizim yerimize otomatik olarak yaratiyor.
Bir sonraki makalede daha ayrintili uzerinde duracagiz ama LINQ to SQL nasil kullanacagiz, hangi adimlari uygulayacagiz kisaca madde madde uzerinde durmak gerekirse;
- Erişilmek istenen tabloya ait Entity sınıfı oluşturulur.
- Connection açmak, command çalıştırmak gibi işlerden sorumlu olan DataContext nesnesi oluşturulur.
- DataContext nesnemiz kullanılarak ilgili tablodan data çekilebilir.
Kisaca Entity kavramindan da bahsetmek gerekirse, veritabanındaki tabloya karşılık oluşturulmuş her bir sınıfa Entity sınıfı denmektedir. Bir entity sınıfının nesnesini Ram'e çıkarttığımızda, cikarttigimiz bu nesneye de entity denmektedir ayni zamanda. Çok sık duyacagımız kavramlardan biri de Entity yuklemek olacak. Bu da, satirin bilgilerini tutan bir entity nesnesini RAM'e cikartmaktir anlamina gelir.