Transcript the slides

ASP.NET + jQuery + Odata =
Goodness
Stephen Walther
Superexpert.com
[email protected]
Agenda
•
•
•
•
•
Overview of OData/WCF Data Services
Querying OData from jQuery
Creating/Editing OData from jQuery
Client/Server Validation
Useful OData plugins
The Open Data Protocol (OData)
Defined at Odata.org:
●
●
●
●
Open Standard
REST = Representational State Transfer
Supports XML (Atom) and JSON
XHR and JSONP
OData Data Sources
•
•
•
•
•
•
•
Netflix
• SQL Server
Reporting Services
NuGet
• eBay
Stack Overflow
SQL Azure
Azure Table Storage
SharePoint 2010
Windows Live
WCF Data Services
• Exposes data using the OData protocol
• WCF Data Services February 2011 CTP2
●
Works with Entity Framework 4.1 (Code First)
WCF Data Services
Exposes DBContext:
Querying OData
OData URIs have three parts:
●
●
●
Service Root
Resource Path
Query Options
Querying OData
Query Options:
●
●
●
●
●
●
●
$select
$filter
$top
$skip
$orderby
$inlinecount
$count
•
•
•
•
•
$expand
$format
$links
$metadata
$value
Query OData (Operators)
Query OData (String Filters)
Query OData (Date Filters)
Query OData (Math Filters)
Query OData (Type Filters)
Query OData
__metadata:
Query OData with jQuery
Create New Entities
Edit Existing Entities
Validation
Client = Use jQuery Validate
Use for immediate user feedback
Server = Use Entity Framework
Use for domain validation
Client Validation
Use jQuery Validate to create client validation rules
Server Validation
Use Data Annotation validators to validate properties:
Server Validation
Use the IValidatableObject interface for more complex validation:
Server Validation
Handle the Entity Framework DbEntityValidationException in
your service class:
jQuery OData Plugin
• Created by Egil Hansen:
●
https://github.com/egil/jquery.odata
• Updated fork at:
●
https://github.com/StephenWalther/jquery.odata
DataJS Plugin
• Created by Microsoft:
●
http://datajs.codeplex.com/
• Supports reading and updating data
• Supports HTML5 DOM Storage
Resources
●
WCF Data Services March 2011 CTP2
• http://www.microsoft.com/downloads/en/details.aspx?FamilyID=60fb0117-8cea4359-b392-6b04cdc821be
●
Entity Framework 4.1 (Included with MVC3)
• http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2dc5ddac-5a9648b2-878d-b9f49d87569a
●
jQuery Templates
• Install-Package jQuery.Templates
●
jQuery UI (Included with MVC3)
• Install-Package jQuery.UI
●
jQuery Odata
• https://github.com/egil/jquery.odata/wiki
• https://github.com/StephenWalther/jquery.odata
●
DataJS
• http://datajs.codeplex.com/
Download the Sample Code
Visit Stephen Walther’s blog to download the
sample code for this talk:
●
http://StephenWalther.com
Website: http://Superexpert.com
Email: [email protected]
Phone: 800 691 - 7140
Your Feedback is Important
Please fill out a session evaluation form.
Thank you!