Bu görsel dersimizde, WCF Eco System' in bir parçası olan WCF Data Service' lerinde Projections sorgularının nasıl kullanılabileceğini incelemeye çalışıyoruz. Aslında kod adı Astoria olan Ado.Net Data Service' lerin 1.5 CTP2 sürümünde de duyurulan bu yetenek, zaten .Net Framework 4.0 içerisine gömülü olarak gelen WCF Data Service' ler için standartlaştırılmış bir özellik...
Bu görsel dersimizde arka planda Entity Data Model(EDM) kullanan bir Ado.Net Data Service örneginin, basit bir istemci uygulama(Console Application) üzerinde nasil ele alinabilecegi incelenmektedir. Söz konusu servisin istemci tarafinda kullanilabilmesi için VS 2008 ortaminda proxy üretimi gerçeklestirilmektedir. Bununla birlikte proxy üretimi için DataSvcUtil aracinin nasil kullanilacagida gösterilmektedir. Ayrica; istemci uygulamanin söz konusu servis üzerinden RESTful modeline göre nasil talepte bulunabilecegi üzerinde durulmakta, bu amaçla istemci tarafinda kullanilabilecek iki temel teknik (CreateQuery, Execute metodlari ile LINQ ifadeleri) degerlendirilmektedir.
Bu görsel dersimizide Ado.Net Data Service' lerde LINQ provider kullanimina deginiyoruz. Bilindigi üzere Data Service Engine, DAL(Data Access Layer) içerisinde Entity Data Model(EDM) veya LINQ Provider' larini kullanmaktadir. LINQ Provider' lar sayesinde özellikle CLR Nesnelerinin belirli sartlari saglayaraktan Data Service olarak sunulusmasi imkani bulunmaktadir. Örnekte bu durumu iliskin olaraktan iki adet Entity tipi gelistirilmekte ve bu tiplere ait nesne örneklerini tasiyan IQueryable tipinden özellikler Data Service üzerinden sorgulanarak test edilmektedir.
Ado.Net Data Services(Astoria) mimarisine merhaba dedigimiz bu görsel dersimizide, EDM(Entity Data Model) yapisini ele aliyoruz. Örnek olarak AdventureWorks veritabani üzerinde yer alan ve one-to-many iliskileri olan Product ve ProductSubcategory tablolarinin servis üzerinden elde edilmesini ve url satirindan sorgulanmasini inceliyoruz.