Saturday, February 19, 2011

Create OData Producer


(1) Create a Web App and add .mdf file to App Data Folder
(2) Add EF edmx and drag drop the .mdf's table (SQL Express)
(3) Add new item Web ->WCF Data Service (Will generate Atom Data Feed Service)

(4)
public class WcfDataService1 : DataService<AdventureWorks_DataEntities>
{
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("Products", EntitySetRights.AllRead);
config.SetEntitySetPageSize("Products", 2);
.. }

[QueryInterceptor("Products")]
public Expression<Func<Product,bool>> OnQueryCustomer()
{
return p => p.Name.Contains("Adjustable");
}
(5) Test in browser http://localhost/WcfDataService1/Products?$select=Name
...?$top=5
Feed Reader can be turned off Tool->Internet option->content->..

(6) Also test using Silverlight Client
...
AdventureWorks_DataEntities _svs;
DataServiceCollection<Product> _products;
public MainPage()
{
InitializeComponent();

_products.LoadCompleted += new EventHandler(_products_LoadCompleted);

No comments: