Your SlideShare is downloading. ×
SharePoint 2010: Developing with Data Technologies<br />Randy Williams<br />Synergy<br />rwilliams@synergyonline.com<br />
About the Speaker<br />US-West Coast Manager for Synergy<br />Based in San Diego, California<br />Consultant/Trainer/Autho...
Session Overview<br />LINQ to SharePoint<br />WCF Data Services (REST)<br />Client Object Model<br />Large List Throttling...
Overview of Data Technologies<br />
LINQ to SharePoint<br />SharePoint now includes a LINQ provider<br />Translates LINQ queries to CAML queries<br />All acce...
Why Use LINQ to SharePoint?<br />SPQuery with CAML<br />SPQuery query = new SPQuery();<br />query.Query = @"<br /><Where><...
Why Use LINQ to SharePoint?<br />LINQ Syntax<br />var contacts = from c in ctx.Contacts<br />               where c.LastNa...
Using SPMetal<br />Command line utility located in 14BIN<br />Used to generate proxy class<br />Generates entity classes f...
Demo<br />LINQ to SharePoint<br />
WCF Data Services (REST)<br />REST: Representational State Transfer<br />List data is made available at http://sp2010/site...
REST Examples<br />View available lists<br />http://sp2010/_vti_bin/listdata.svc<br />View data in the Announcements list<...
Query Data Using REST Interface<br />Create a new Service Reference using the appropriate Url to listdata.svc<br />Instant...
Demo<br />WCF Data Services (REST)<br />
Client Object Model<br />Working with SharePoint from client applications<br />ECMAScript (JavaScript)<br />Silverlight<br...
Adding Project References<br />ECMAScript (link from code)<br />/_layouts/SP.js<br />Silverlight references<br />Microsoft...
Sample From .NET Managed Code<br />ClientContext context = new ClientContext("http://sp2010/teamsite");<br />Web web = con...
Sample From JavaScript<br />varclientContext = new SP.ClientContext.get_current();<br />this.oWeb = clientContext.get_web(...
Demo<br />Client Object Model<br />
Data Access Summary<br />
Large List Throttling<br />Prevents large queries from running<br />Web Application level setting<br />First threshold is ...
Your Feedback is Important<br />Please fill out a session evaluation form.<br />Thank you!<br />
Upcoming SlideShare
Loading in...5
×

SharePoint 2010: Developing with Data Technologies

11,867

Published on

Consuming data in SharePoint 2010 improves dramatically. This session will focus on the three new ways to read and write data from SharePoint. We'll first cover Linq to SharePoint, then move onto WCF Data Services (aka REST). Last, but not least, we'll cover the client object model.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
11,867
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "SharePoint 2010: Developing with Data Technologies"

  1. 1. SharePoint 2010: Developing with Data Technologies<br />Randy Williams<br />Synergy<br />rwilliams@synergyonline.com<br />
  2. 2. About the Speaker<br />US-West Coast Manager for Synergy<br />Based in San Diego, California<br />Consultant/Trainer/Author<br />SharePoint MVP<br />Specialty in architecting solutions<br />Blog: www.synergyonline.com/randy<br />Twitter: @tweetraw<br />
  3. 3. Session Overview<br />LINQ to SharePoint<br />WCF Data Services (REST)<br />Client Object Model<br />Large List Throttling<br />
  4. 4. Overview of Data Technologies<br />
  5. 5. LINQ to SharePoint<br />SharePoint now includes a LINQ provider<br />Translates LINQ queries to CAML queries<br />All access to data is through strongly typed objects<br />Supports full CRUD operations<br />Use SPMetal to generate proxy classes<br />
  6. 6. Why Use LINQ to SharePoint?<br />SPQuery with CAML<br />SPQuery query = new SPQuery();<br />query.Query = @"<br /><Where><br /> <And><br /> <BeginsWith><br /> <FieldRef Name="LinkTitle" /><br /> <Value Type="Text">A</Value><br /> </BeginsWith><br /> <Eq><br /> <FieldRef Name="WorkCountry" /><br /> <Value Type="Text">USA</Value><br /> </Eq><br /> </And><br /></Where>";<br />
  7. 7. Why Use LINQ to SharePoint?<br />LINQ Syntax<br />var contacts = from c in ctx.Contacts<br /> where c.LastName.StartsWith ("A") && <br />c.CountryRegion == "USA"<br /> select c;<br />
  8. 8. Using SPMetal<br />Command line utility located in 14BIN<br />Used to generate proxy class<br />Generates entity classes for a single web<br />Use CKSDev (CodePlex) to integrate with Visual Studio<br />Basic Syntax:<br />SPMetal /web:http://sp2010/teamsite /code:teamsite.cs<br />
  9. 9. Demo<br />LINQ to SharePoint<br />
  10. 10. WCF Data Services (REST)<br />REST: Representational State Transfer<br />List data is made available at http://sp2010/site/_vti_bin/listdata.svc<br />Data access is strongly typed<br />Data access is limited to items in lists<br />Data can be accessed from virtually any client application<br />
  11. 11. REST Examples<br />View available lists<br />http://sp2010/_vti_bin/listdata.svc<br />View data in the Announcements list<br />http://sp2010/_vti_bin/listdata.svc/Announcements<br />View the announcement with ID 1<br />http://sp2010/_vti_bin/listdata.svc/Announcements(1)<br />View the Announcements items ordered by Modified date<br />http://sp2010/_vti_bin/listdata.svc/Announcements?$orderby=Modified<br />
  12. 12. Query Data Using REST Interface<br />Create a new Service Reference using the appropriate Url to listdata.svc<br />Instantiate a reference to the DataServiceContext object<br />Query items using LINQ or extension method syntax<br />Enumerate the results<br />
  13. 13. Demo<br />WCF Data Services (REST)<br />
  14. 14. Client Object Model<br />Working with SharePoint from client applications<br />ECMAScript (JavaScript)<br />Silverlight<br />.NET Managed<br />Much easier than calling web services<br />Provides a subset of the functionality available in the server object model<br />Designed to work with data within a site collection<br />
  15. 15. Adding Project References<br />ECMAScript (link from code)<br />/_layouts/SP.js<br />Silverlight references<br />Microsoft.SharePoint.Client.Silverlight.dll<br />Microsoft.SharePoint.Client.Silverlight.Runtime.dll<br />.NET Managed references<br />Microsoft.SharePoint.Client.dll<br />Microsoft.SharePoint.Client.Runtime.dll<br />
  16. 16. Sample From .NET Managed Code<br />ClientContext context = new ClientContext("http://sp2010/teamsite");<br />Web web = context.Web;<br />context.Load(web);<br />context.ExecuteQuery();<br />MessageBox.Show (web.Title);<br />
  17. 17. Sample From JavaScript<br />varclientContext = new SP.ClientContext.get_current();<br />this.oWeb = clientContext.get_web();<br />clientContext.load(this.oWeb);<br />clientContext.executeQueryAsync(Function.createDelegate(this,this.getSuccess), Function.createDelegate(this, this.getError));<br />
  18. 18. Demo<br />Client Object Model<br />
  19. 19. Data Access Summary<br />
  20. 20. Large List Throttling<br />Prevents large queries from running<br />Web Application level setting<br />First threshold is 5,000 items<br />Second threshold is 20,000 and applies if<br />User is an administrator or auditor, and<br />Object model override is enabled, and<br />Code is configured to use override setting<br />
  21. 21. Your Feedback is Important<br />Please fill out a session evaluation form.<br />Thank you!<br />

×