.::Eralp Erat's Solutions Diary::..

{#Every way that I Can share!}

Sharepoint CAML - JOIN MECHANISM

Haziran 26
by Eralp 26. Haziran 2009 11:13

Selamlar ; 

Sharepoint içerisinde bir listeden herhangi bir kayıt almak istediğinizde genel itibariyle kullanılan 2 yontem var.

Bunlardan birincisi tüm listeyi alip daha sonra LINQ ya da çok önceleri DataTable classının Select() metodunu kullanarak bir

şekilde listelemek ya da CAML query'lerini kullanmak.2. yöntem legal olan kesinlikle ama zorlukları var.Bu zorluklardan biride

yazılacak olan query'inin CAML için complex bir yapı teşkil ediyor olması.XML based bir yapıya sahip (CRM de

fetch yapanlar bilirler benzer bir yapıda orda bulunmakta..)..

Bir arkadaşımız saolsun oturup bunun için free versiyonu bulunan bir tool hazırlamış kesinlike kullanmanızı öneririm.

http://www.u2u.info/Blogs/Patrick/Lists/Posts/Post.aspx?ID=1252 linkinden hazırladığı user controle ve ilgili helper

classını nasıl kullandığını görebilirsiniz. İndirmek için http://www.u2u.net/res/Tools/CamlQueryBuilder.aspx adresini

kullanabilirsiniz (hem 2003 hemde 2007 versiyonları bulunmakta..)

Gelelim join meselesine , CAML altyapısı gereği join mekanizmasına izin vermiyor peki çözüm olarak ne yapabiliriz ?

Database'mi bağlanacağız direkt, hayır..zaten bağlansanızda elinize birşey geçmez doğru dürüst :))

Aslına bakarsanız öyle çok bir çözüm şansınız olmamakla birlikte bunun LINQ ile bir nebze de olsa aşıldığını söyleyebiliriz..

Nasıl mı, pek tabi join mekanizması ile.Örnek vermek gerekirse ; 

var Sonuc = from AA in TelListe

                             join BB in SipListe on AA equals BB.AltListe into SanalAd

                             select new { TelNo = Eleman.TelNo, Degerler = SanalAd };

 şeklinde bir query'i nasıl IEnumerable<T> için yapabiliyorsak pek tabi sharepoint üzerinden aldığımız verileri

joinlemek içinde kullanabiliriz(Verinin tutuluş biçimine dikkat).Dikkat edilecek husus veriyi alırken her halükarda

CAML query'sine where cümlesini vermeniz gerektiği , yoksa gereksiz verinin joinlenme cabası where uygulanması

ve hepsinden daha da önemlisi bunun client'a getirilmeye zorlanması mantıklı olmasa gerek :) Sonrası

LINQ'in yardımları..Umarım fikir vermiştir.

 

Sevgiler

E2

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Sharepoint

Yazar Hakkında

Eralp
Uludağ Üniversitesi bilgisayar programcılığı sonrasında işletme fakültesini bitiren Erat ; 1999 yılından bu yana yazılım sektörünün içerisinde yer almış ve ilgili olduğu projelerin çözüm üretilmesin de aktif olarak rol oynamıştır.Yaklaşık 6 yılını Türkiye’nin dört bir tarafında yer alan devlet hastanelerin bilgi yönetim sistemlerini tasarlamak ve geliştirmekle geçirmiş ; LIS , IVR ve Linux sistemlerinin entegrasyonu konusunda uzmanlaşmıştır.Bu konuda halen danışmanlık hizmeti vermektedir..Uzun yıllar “Object Pascal” ile uygulama geliştirmiştir.MCP , MCAD.NET ve MCSD.NET,MCTS (MS CRM 4 Customization) unvanlarına sahiptir..Aynı zamanda Mobile Cihazlar konusunda 2007 yılında Microsoft tarafından MVP unvanına layık görülmüştür.
Çeşitli kurumsal projelerin mimari tasarım ve yazılımlarını gerçekleştirmiştir. Yazılım konusunda en büyük hayali, Türkiye’mizin bir yazılım üssü haline gelebilmesinde ön ayak olmaktır. Yazılımın belli bir forma sıkıştırılmasından hiç haz etmeyen ve fanatikliği değil sadece kaliteyi ön plana çıkarabilmek adına deneyimlerini ve yeni teknolojiler hakkında oluşan bilgi ve birikimlerini üniversitelerde genç dimağlarla paylaşmaktan büyük mutluluk duymaktadır. Halen büyük ölçekli kurumsal çözümler üreten bir yazılım evinde kıdemli yazılım mühendisi olarak çalışmaktadır.2007 yılında Boğaziçi Üniversitesi Makine Mühendisliği bölümünde C# eğitimleri vermiştir.Sakarya Üniversitesi e-Bilişim dalında MBA yapmaktadır.

Calendar

<<  Temmuz 2009  >>
PaSaÇaPeCuCuPa
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

View posts in large calendar