Quantcast
Channel: ÇözümPark
Viewing all articles
Browse latest Browse all 4130

SharePoint ve Office365 Webservisleri Üzerinde OData Kullanımı

$
0
0

Makalemiz de SharePoint/Office365 üzerinde web servislerini kullanarak OData kullanımı hakkında temel bilgileri göreceğiz. OData (Açık veri Protokolü) Rest alt yapısını kullanarak http çekirdek protokolü üzerine inşa edilmiş bir veri erişim protokolüdür. Klasik c# / Asp.net veya Vb.net üzerinde OData kullanımına ek olarak SharePoint / Office365 sistemleri üzerinde OData erişimlerine göz atalım.

 

Data İsteği ( GET)
OData servisleri http Get methodu üzerinden data erişimi sağlayabilirler.

GET /_vti_bin/listdata.svc/Vehicles

 

clip_image001


Spesifik data döndürme

 

GET /_vti_bin/listdata.svc/Vehicles(3) bu sorgumuzda ID’si 3 olan kaydımızı ekrana getirmekteyiz. Data yapınıza göre Primary Key olarak tanımladığınız kolona parantezler içine yazmak şartı ile aslında normalde bildiğimiz SQL komutlarından “Select * from Vehicles where ID = 3” sorgusunu çalıştırmış bulunuyoruz.

clip_image002

Kolon İsmine Göre Veri geri döndürme

 

GET _vti_bin/listdata.svc/Vehicles(3)/Title URL’mize 3 numaralı ID ye ait kayıt seti için Title verisinin değerini geri döndürmesini istedik. Eğer kolonumuz bir Lookup kolon ise ek özellik olarak /Vehicles(3)/Location/Address/PostalCode …. Şekliden lookup tablolara da erişebiliriz.

clip_image003

 

 

 

Kolon İsmine Göre Ham (Salt) veri Döndürme

 

Bir özelliğin yada kolonun xml’den bağımsız değerini döndürmek için $value etiketi url’ye eklenmelidir.Örn :

 

Get /_vti_bin/listdata.svc/Vehicles(3)/Title/$value

 

clip_image004
Sorgular ve Flitrelemeler

 

$FILTER

OData birden fazla sorgu seçeneğini $filter key’i vasıtası ile sorgulamamıza izin verir. Bunlardan temel olarak;

İki Aralık Arası

Filter=Id gt 1 and Id lt 4
lt= Less than
gt = Greater Than

1 den büyük 4 den küçük

And

Filter = title eq ‘Honda’ and title eq ‘mercedes’

Mercedes ve Honda olan kayıtlar

Or

filter= Title eq 'Honda' or Title eq 'Kia'

Honda yada Kia olan kayıtlar

Less than ( n değerinden küçük)

Filter=ID lt 4

ID’si 4’den küçük kayıtlar

Greater than (n değerinden büyük)

Filter=ID gt 4

ID’si 4’den Büyük  kayıtlar

Greater than or equal to
(n değerinden büyük ve n değere eşit kayıtlar)

Filter=ID ge 4

ID’si 4’den Büyük ve 4’e eşit kayıtlar

Less than or equal to (n değerinden küçük ve n değere eşit kayıtlar)

Filter=ID le 4

ID’si 4’den Küçük ve 4’e eşit kayıtlar

Different from (not equal)
(Verilen n değerine eşit olmayan )

Filter=ID ne 4

ID’si 4’e eşit olmayan kayıtlar

Endswith (n değerin sonu x değerle biten kayıtlar)

filter=endswith(Title,'da')

 

Title kolonunun sonu da harfleri ile biten kayıtlar

startswith

filter=startswith(Title, 'S')

 

Title kolonunun başı ‘s’ harfi  ile başlayan kayıtlar

substringof

filter=substringof(‘ond’, Title)
 

Title içerisinde and geçen kayıtlar örn( Honda )

 

Yukarıda görülen tablo aslında en sık kullandığımız işlemlerin OData $filter sorgularında kullanılan şekilleridir. Daha fazla bilgi ve detay için lütfen http://msdn.microsoft.com/en-us/library/hh169248(v=nav.71).aspx adresini ziyaret ederek diğer $filter seçeneklerini de inceleyiniz.

 

$OrderBy

Orderby seçeneği verilmediği taktirde kayıtlarımız default “asc” olarak sıralanmaktadır. Sorgularımızda $orderby belirtmek sorgularımızın daha net okunabilirliğini sağlayacağından yazılması tavsiye edilir.

 

clip_image005

 

$top ve $skip

$top bildiğimiz manası ile sql cümlesinde “select top(2)” kullanımını eş değer OData sorgu cümleciğidir. $skip ise son zamanlarda linq ile aşına olduğumuz .Take(5).Skip(2); kullanımını eş değer OData sorgu cümleciğidir.

 

GET   /_vti_bin/listdata.svc/Vehicles?$top=4&$skip=1

 

 

 

$count

Listemizdeki toplam kayıt sayısını döndürmek için kullandığımız OData sorgu cümleciğidir.

 

GET /_vti_bin/listdata.svc/Vehicles/$count
Response : 3

 

$expand

Listemizdeki lookupların genişlemesini ve tüm verinin çekilmesi için kullanılır. Örneklemek gerekirse entity’ye bağlı virtual classları çekmektir. Linq daki Include() öğesine eşdeğerdir.

 

$select

Çok fazla kolon olan listelerimizden özel sorgular oluşturmak için kullanabileceğimiz ve istediğimiz fieldları geri döndürebileceğimiz bir sorgu cümleciğidir.

 

GET /_vti_bin/listdata.svc/Vehicles?$select=Title

 

clip_image006

 

 

 

Genel olarak SharePoint / Office365 client side uygulamalarımızda yukarıda anlattığımız temel OData sorgu tiplerini kullanarak AngularJs veya Jquery kütüphaneleri ile efektif ekranlar tasarlayabiliriz. Bu konu hakkında kod örneklerimizi bir dahaki yazımızda anlatmak üzere faydalı olmasını dilerim.

 

Kaynaklar : http://www.odata.org/ , http://msdn.microsoft.com

 


Viewing all articles
Browse latest Browse all 4130

Trending Articles


Hamile kalmak için


Şekilli süslü hazır floodlar


Havas-ul Kur-an Kenzul Havas PDF


Hamile kalmak için


EL-AZÎM Esması ve Sırları


En etkili korumlardan birisi


Enerji Beden ve İki Uygulama-1


Foxtrot Six Türkçe Dublaj izle (2020)


SCCM 2012 Client Installation issue


Hakan Sabancı 4 ayrı adrese Sevgililer Günü buketi gönderdi!