<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Guy Burstein : .Net Framework 3.5</title><link>http://blogs.msdn.com/bursteg/archive/tags/.Net+Framework+3.5/default.aspx</link><description>Tags: .Net Framework 3.5</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Building an Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview</title><link>http://blogs.msdn.com/bursteg/archive/2009/03/07/building-an-occasionally-connected-ado-net-data-service-with-astoria-offline-preview.aspx</link><pubDate>Sat, 07 Mar 2009 13:48:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9464127</guid><dc:creator>Guy Burstein</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bursteg/comments/9464127.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bursteg/commentrss.aspx?PostID=9464127</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bursteg/rsscomments.aspx?PostID=9464127</wfw:comment><description>&lt;h1&gt;Building an Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview&lt;/h1&gt;  &lt;p&gt;This is a step by step walkthrough of creating a new ADO.Net Data Service that support offline and synchronization with the recently released “Astoria Offline” alpha preview.&lt;/p&gt;  &lt;h3&gt;1. Create an ADO.Net Data Service that Allows Synchronization&lt;/h3&gt;  &lt;p&gt;Create a new standard Web Application project.&lt;/p&gt;  &lt;p&gt;Add a new Entity Data Model. This time, make sure you select the &lt;strong&gt;[Offline Preview] ADO.Net Data Model&lt;/strong&gt; template. Also notice that the extension of the file is now &lt;strong&gt;.edmxpreview&lt;/strong&gt; instead of &lt;strong&gt;.edmx&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" border="0" alt="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/1d402352b14a_A0DD/image_e605c0a9-1692-4dfc-9b38-6d4dff8c5d41.png" width="480" height="308" /&gt; &lt;/p&gt;  &lt;p&gt;Continue with the wizard to create the data model. When the wizard completes, notice that the project has a new reference to &lt;strong&gt;System.Data.Entity.Preview.dll&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Add a new ADO.Net Data Service to the project, but make sure you select the &lt;strong&gt;[Offline Preview] ADO.Net Data Service&lt;/strong&gt; template.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" border="0" alt="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/1d402352b14a_A0DD/image_2909b2ad-4eb8-46cf-be51-cabb321e4728.png" width="480" height="308" /&gt; &lt;/p&gt;  &lt;p&gt;In the “Choose what to publish wizard” select &lt;strong&gt;Existing Entity Model&lt;/strong&gt;. We could have started from this wizard from the beginning and create a new Entity Data Model from here.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" border="0" alt="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/1d402352b14a_A0DD/image_65f89973-b83c-41fb-9883-312d5d70a5b3.png" width="480" height="427" /&gt; &lt;/p&gt;  &lt;p&gt;Select the Entity Container that is part of the Entity Data Model you created earlier. In my sample it is BankEntities. Also notice the new “&lt;strong&gt;Enable Synchronization&lt;/strong&gt;” checkbox – make sure it is checked.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" border="0" alt="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/1d402352b14a_A0DD/image_b439c48f-4e06-42be-a2be-bbf64acd26db.png" width="480" height="427" /&gt; &lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" border="0" alt="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" align="right" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/1d402352b14a_A0DD/image_bde58072-01d2-418b-ad3e-c3561867e46c.png" width="272" height="485" /&gt;This adds several things to your project:&lt;/p&gt;  &lt;p&gt;1. Several new references were added to the project: &lt;strong&gt;Microsoft.Data.Entities.Synchronization&lt;/strong&gt; is the extension for Sync Services that enables entity Synchronization. &lt;strong&gt;System.Data.Services.Preview&lt;/strong&gt; and &lt;strong&gt;System.Data.Services.Client.Preview&lt;/strong&gt; are the ones that does the magic of &lt;strong&gt;Astoria Offline&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;2. Two new SQL Scripts were added to the Entity Data Model (notice the &lt;strong&gt;Bank.create.sql &lt;/strong&gt;and the &lt;strong&gt;Bank.drop.sql &lt;/strong&gt;scripts in the image). These contain the DDL statements needed to change the database schema in order to support synchronization.&lt;/p&gt;  &lt;p&gt;To actually enable synchronization, you’ll have to run the create script. To do that, open it in Visual Studio, and execute it against your database.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" border="0" alt="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/1d402352b14a_A0DD/image_d0026e0b-09c5-498b-84a2-e80e42f0179c.png" width="369" height="124" /&gt; &lt;/p&gt;  &lt;p&gt;3. The ADO.Net Data Service is added to the project and it is now empty. It is already connected the the entity data model, but right now does not support anything.&lt;/p&gt;  &lt;p&gt;Set the access rules to the resources of the data model (in this sample I give full access to all the resources). In addition to that, tell the data service that it supports synchronization. To do that, cast the config object to &lt;strong&gt;IDataServiceConfiguration2&lt;/strong&gt; interface (new in this preview) and assign true to the &lt;strong&gt;AllowSynchronization&lt;/strong&gt; property.&lt;/p&gt;  &lt;div style="font-family: consolas; background: white; color: black; font-size: 11pt"&gt;   &lt;pre style="margin: 0px"&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;BankDataService&lt;/span&gt; : &lt;span style="color: #2b91af"&gt;DataService&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;BankEntities&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;{&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; &lt;span style="color: green"&gt;// This method is called only once to initialize service-wide policies.&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; InitializeService(&lt;span style="color: #2b91af"&gt;IDataServiceConfiguration&lt;/span&gt; config)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; config.SetEntitySetAccessRule(&lt;span style="color: #a31515"&gt;&amp;quot;*&amp;quot;&lt;/span&gt;, &lt;span style="color: #2b91af"&gt;EntitySetRights&lt;/span&gt;.All);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; ((&lt;span style="color: #2b91af"&gt;IDataServiceConfiguration2&lt;/span&gt;)config).AllowSynchronization = &lt;span style="color: blue"&gt;true&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;The ADO.Net Data Service is now ready to run. Press F5 to run it and play with the URL in the address bar to navigate through the resources.&lt;/p&gt;

&lt;h3&gt;2. Create a Occasionally Connected Client Application&lt;/h3&gt;

&lt;p&gt;Add a standard Windows Forms Application to the solution.&lt;/p&gt;

&lt;p&gt;Add a Service Reference to the project and let visual studio discover the data service in your solution. When you add the reference Visual Studio will tell you that this ADO.Net Data Service is offline enabled.&lt;/p&gt;

&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" border="0" alt="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/1d402352b14a_A0DD/image_51e34aaa-dfc3-46b3-82ce-fd75e59af0aa.png" width="472" height="202" /&gt;&lt;/p&gt;

&lt;p&gt;Click Yes to enable offline scenarios in the client application.&lt;/p&gt;

&lt;p&gt;A scary dialog should appear and tell you that an error has occurred. You can disregard it by pressing Cancel.&lt;/p&gt;

&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" border="0" alt="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/1d402352b14a_A0DD/image_d82fe394-29c5-415b-836a-04244005b8af.png" width="480" height="397" /&gt; &lt;/p&gt;

&lt;p&gt;Adding this service reference has added not only the client side proxy for consuming this service, but also a local database with the database schema that matches your model.&lt;/p&gt;

&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" border="0" alt="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/1d402352b14a_A0DD/image_91cb7a2f-6c50-471e-a29c-6f68bbb182cc.png" width="347" height="270" /&gt; &lt;/p&gt;

&lt;p&gt;Open the Data Sources window (Shift + Alt + D), and add a new data source of type Object. Select one of the object types in your client application that matches the model and click OK.&lt;/p&gt;

&lt;p&gt;Drag the list of objects onto your form and let Visual Studio create all the necessary controls for navigating through the data.&lt;/p&gt;

&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" border="0" alt="Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/1d402352b14a_A0DD/image_f06137a5-f03c-4410-8251-5d7975e49189.png" width="640" height="322" /&gt; &lt;/p&gt;

&lt;p&gt;Double click the window title to add an event handler to the form’s loaded event. In this event handler we will load the data from the &lt;strong&gt;Local Database&lt;/strong&gt;. Add a new for the context, and in the Load event handler – use it to get the data and bind it to the binding source.&lt;/p&gt;

&lt;div style="font-family: consolas; background: white; color: black; font-size: 11pt"&gt;
  &lt;pre style="margin: 0px"&gt;&lt;span style="color: blue"&gt;public&lt;/span&gt; &lt;span style="color: blue"&gt;partial&lt;/span&gt; &lt;span style="color: blue"&gt;class&lt;/span&gt; &lt;span style="color: #2b91af"&gt;CustomersForm&lt;/span&gt; : &lt;span style="color: #2b91af"&gt;Form&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;{&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; &lt;span style="color: blue"&gt;public&lt;/span&gt; CustomersForm()&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; InitializeComponent();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; &lt;span style="color: #2b91af"&gt;BankEntities&lt;/span&gt; db;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; &lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; CustomersForm_Load(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; {&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; db = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;BankEntities&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;var&lt;/span&gt; query = &lt;span style="color: blue"&gt;from&lt;/span&gt; c &lt;span style="color: blue"&gt;in&lt;/span&gt; db.Customers&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;select&lt;/span&gt; c;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;this&lt;/span&gt;.customersBindingSource.DataSource = query;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; }&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;In order to support saving changes to the local database – enable the Save button on the Form and double click it to add an event handler. In the handler – simply apply the changes to the database.&lt;/p&gt;

&lt;div style="font-family: consolas; background: white; color: black; font-size: 11pt"&gt;
  &lt;pre style="margin: 0px"&gt;&lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; customersBindingNavigatorSaveItem_Click(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;{&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; db.SaveChanges();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Add another menu item the the binding navigator that will do the actual synchronization. For it click event handler – implement the synchronization logic:&lt;/p&gt;

&lt;p&gt;Add a &lt;strong&gt;Microsoft.Data.Entities.Synchronization.DataServiceSyncProvider&lt;/strong&gt; instance, and point to the the ADO.Net Data Service URL.&lt;/p&gt;

&lt;p&gt;Create a &lt;strong&gt;Microsoft.Data.Entities.Synchronization.ObjectContextSyncProvider&lt;/strong&gt; instance, which is the client-side wrapper for the BankEntities’s ObjectContext.&lt;/p&gt;

&lt;p&gt;Create a new &lt;strong&gt;Microsoft.Synchronization.SyncOrchestrator&lt;/strong&gt; instance and set the local and remote providers.&lt;/p&gt;

&lt;p&gt;Then, do the actual synchronization. Notice that the sync operation sync between the service and the local database, therefore the data needs to be fetched from the local database again.&lt;/p&gt;

&lt;div style="font-family: consolas; background: white; color: black; font-size: 11pt"&gt;
  &lt;pre style="margin: 0px"&gt;&lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; syncItem_Click(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;{&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; &lt;span style="color: #2b91af"&gt;DataServiceSyncProvider&lt;/span&gt; dsp = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;DataServiceSyncProvider&lt;/span&gt;(&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Uri&lt;/span&gt;(&lt;span style="color: #a31515"&gt;&amp;quot;http://localhost:8474/BankDataService.svc/&amp;quot;&lt;/span&gt;), &lt;span style="color: #a31515"&gt;&amp;quot;global&amp;quot;&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; &lt;span style="color: #2b91af"&gt;ObjectContextSyncProvider&lt;/span&gt; esp = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;ObjectContextSyncProvider&lt;/span&gt;(&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; () =&amp;gt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;BankEntities&lt;/span&gt;());&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; &lt;span style="color: #2b91af"&gt;SyncOrchestrator&lt;/span&gt; so = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;SyncOrchestrator&lt;/span&gt;();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; so.RemoteProvider = dsp;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; so.LocalProvider = esp;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; so.Direction = &lt;span style="color: #2b91af"&gt;SyncDirectionOrder&lt;/span&gt;.UploadAndDownload;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; so.Synchronize();&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; &lt;span style="color: green"&gt;// Load the data again&lt;/span&gt;&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;&amp;#160; CustomersForm_Load(&lt;span style="color: blue"&gt;null&lt;/span&gt;, &lt;span style="color: blue"&gt;null&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre style="margin: 0px"&gt;}&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;Finally, set the client application as the startup project and run it. Sync it for the first time to get the data from the remote server to your local database, and then sync it occasionally to upload changes and download changes to your client.&lt;/p&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9464127" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net/default.aspx">ADO.Net</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/.Net+Framework+3.5/default.aspx">.Net Framework 3.5</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Entity+Framework/default.aspx">ADO.Net Entity Framework</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Data+Services/default.aspx">ADO.Net Data Services</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Sync+Services/default.aspx">ADO.Net Sync Services</category></item><item><title>.Net Framework 3.5 SP1 and Visual Studio 2008 SP1 are Available!</title><link>http://blogs.msdn.com/bursteg/archive/2008/08/11/net-framework-3-5-sp1-and-visual-studio-2008-sp1-are-available.aspx</link><pubDate>Mon, 11 Aug 2008 18:32:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8848276</guid><dc:creator>Guy Burstein</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/bursteg/comments/8848276.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bursteg/commentrss.aspx?PostID=8848276</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bursteg/rsscomments.aspx?PostID=8848276</wfw:comment><description>&lt;h1&gt;.Net Framework 3.5 SP1 and Visual Studio 2008 SP1 are Available!&lt;/h1&gt;  &lt;p&gt;&lt;img style="margin: 0px 0px 0px 15px" border="0" alt="download .Net Framework 3.5 SP1 and Visual Studio 2008 SP1" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/.Ne.5SP1andVisualStudio2008SP1areAvailab_DCB2/Visual%20Studio%202008_171728fa-5111-4768-af8a-455b9bd16224.jpg" width="284" height="61" /&gt; &lt;/p&gt;  &lt;p&gt;Unlike other Service Packs from Microsoft, the &lt;strong&gt;SP1 of&lt;/strong&gt;.&lt;strong&gt;Net Framework 3.5 and Visual Studio 2008&lt;/strong&gt; not only contains bug fixes and improvements, it also contains new technologies such as &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/tags/Entity+Framework/default.aspx"&gt;ADO.Net Entity Framework&lt;/a&gt; v1, &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/tags/ADO.Net+Data+Services/default.aspx"&gt;ADO.Net Data Services&lt;/a&gt; v1, ASP.Net Dynamic Data and the framework and tools support for working with &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/tags/SQL+Server+2008/default.aspx"&gt;SQL Server 2008&lt;/a&gt; that was &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/08/07/sql-server-2008-resources.aspx"&gt;RTM'ed last week&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Here are some useful download links:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=2&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3da494b0e0-eb07-4ff1-a21c-a4663e456d9d%26DisplayLang%3den"&gt;VS 2008 Service Pack Preparation Tool&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=1&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dab99342f-5d1a-413d-8319-81da479ab0d7%26DisplayLang%3den"&gt;.NET Framework 3.5 Service pack 1&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=11&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dfbee1648-7106-44a7-9649-6d9f6d58056e%26DisplayLang%3den"&gt;Visual Studio 2008 Service Pack 1&lt;/a&gt; (exe) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=9&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d27673c47-b3b5-4c67-bd99-84e525b5ce61%26DisplayLang%3den"&gt;Visual Studio 2008 Service Pack 1&lt;/a&gt; (iso) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=13&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3df3fbb04e-92c2-4701-b4ba-92e26e408569%26DisplayLang%3den"&gt;Visual Studio 2008 Express Editions with SP1&lt;/a&gt; (Web Install) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=8&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d021b3bee-b2ad-42a8-854a-c5eaef69e927%26DisplayLang%3den"&gt;Visual Studio 2008 Shell (isolated mode) with Service Pack 1 Redistributable&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=12&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d440ec902-3260-4cdc-b11a-6a9070a2aaab%26DisplayLang%3den"&gt;Visual Studio 2008 Service Pack 1 Remote Debugger&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=14&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dfd02c7d6-5306-41f2-a1be-b7dcb74c9c0b%26DisplayLang%3den"&gt;Visual Studio 2008 Service Pack 1 Stand-Alone Profiler&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=15&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d9e40a5b6-da41-43a2-a06d-3cee196bfe3d%26DisplayLang%3den"&gt;Visual Studio 2008 Team Foundation Server SP1&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Visual C++ 2008 SP1 Redistributable Package (&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=17&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3da5c84275-3b97-4ab7-a40d-3802b2af5fc2%26DisplayLang%3den"&gt;x86&lt;/a&gt;, &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=18&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dba9257ca-337f-4b40-8c14-157cfdffee4e%26DisplayLang%3den"&gt;x64&lt;/a&gt;, &lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=16&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3ddcc211e6-ab82-41d6-8dec-c79937393fe8%26DisplayLang%3den"&gt;ia64&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=5&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d9761bb57-f066-4b70-9318-3965c5e68aad%26DisplayLang%3den"&gt;Visual C++ 2008 SP1 Sample Library&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=7&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dc1df3b07-09d7-48cb-bb63-df6d3c2f8141%26DisplayLang%3den"&gt;Microsoft Report Viewer Redistributable 2008 SP1 Language Pack&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=22&amp;amp;p=6&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=10&amp;amp;SrcFamilyId=&amp;amp;u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dc109e400-784c-4904-a719-0c457df65ee9%26DisplayLang%3den"&gt;.NET Framework 3.5 Client Profile Language Pack&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;While downloading and installing the &lt;strong&gt;SP1 of&lt;/strong&gt;.&lt;strong&gt;Net Framework 3.5 and Visual Studio 2008&lt;/strong&gt; you can take your time to read the posts I've written during the beta time frame:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Overview of the Service Pack 1&lt;/strong&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/download-and-install-visual-studio-2008-and-net-framework-3-5-sp1-beta-kb945140.aspx"&gt;Download and Install Visual Studio 2008 and .Net Framework 3.5 SP1 Beta&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/new-assemblies-net-framework-3-5-sp1.aspx"&gt;New Assemblies in Visual Studio 2008 and .Net Framework 3.5 SP1&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;ADO.Net Entity Framework&lt;/strong&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/EntityDataSource-Entity-Data-Source.aspx"&gt;EntityDataSource - Overview&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/entitydatasource-entity-data-source-where-clause.aspx"&gt;EntityDataSource - Where Clause&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=403764"&gt;An Overview Screencast about EntityDataSource&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;ADO.Net Data Services&lt;/strong&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/visual-studio-2008-sp1-ado-net-data-service-walkthrough.aspx"&gt;A Simple ADO.Net Data Service Walkthrough&lt;/a&gt; (updated for SP1) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/visual-studio-2008-sp1-querying-ado-net-data-service-net-client.aspx"&gt;Querying an ADO.Net Data Service via .Net Client&lt;/a&gt; (updated for SP1) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;ADO.Net Sync Services&lt;/strong&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/sync-services-for-ado-net-with-sql-server-2008-change-tracking.aspx"&gt;Sync Services for ADO.Net now use SQL Server 2008 Change Tracking&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;SQL Server 2008 and Data Access Technologies&lt;/strong&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/sqlfilestream-managed-api-for-sql-server-2008-filestream.aspx"&gt;&lt;strong&gt;&lt;img border="0" alt="Visual Studio 2008 and .Net Framework 3.5 SP1" align="right" src="http://blogs.microsoft.co.il/blogs/bursteg/WindowsLiveWriter/VisualStudio2008SP1Beta1AGuidedTour_13B66/SQL%20Server%202008_90ba9c9c-3c31-4d79-83c2-03689f747e35.gif" width="190" height="36" /&gt;&lt;/strong&gt;SqlFileStream - Managed API for SQL Server 2008 FILESTREAM&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/linq-to-sql-sql-server-2008-date-time-types.aspx"&gt;LINQ to SQL with SQL Server 2008 Date Time Types&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/linq-to-sql-filestream.aspx"&gt;LINQ to SQL and FILESTREAM&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/ado-net-entity-framework-support-filestream.aspx"&gt;ADO.Net Entity Framework support for FILESTREAM&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you were waiting for SQL Server 2008 and &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/08/08/if-you-haven-t-installed-vs-2008-sp1-don-t-install-sql-server-2008.aspx"&gt;couldn't install it&lt;/a&gt;, now you can.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848276" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bursteg/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/.Net+Framework+3.5/default.aspx">.Net Framework 3.5</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Entity+Framework/default.aspx">ADO.Net Entity Framework</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Data+Services/default.aspx">ADO.Net Data Services</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Sync+Services/default.aspx">ADO.Net Sync Services</category></item><item><title>How To: Call a Java EE Web Service from a .Net Client</title><link>http://blogs.msdn.com/bursteg/archive/2008/07/19/how-to-call-a-java-ee-web-service-from-a-net-client.aspx</link><pubDate>Sat, 19 Jul 2008 13:51:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8754541</guid><dc:creator>Guy Burstein</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/bursteg/comments/8754541.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bursteg/commentrss.aspx?PostID=8754541</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bursteg/rsscomments.aspx?PostID=8754541</wfw:comment><description>&lt;h1&gt;How To: Call a Java EE Web Service from a .Net Client&lt;/h1&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="Call a Java EE Web Service .Net Interoperability" style="margin: 10px 0px 20px 25px" height="48" alt="Call a Java EE Web Service .Net Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/jee_a3a86867-dd00-496e-b6ef-ebed23e612d4.jpg" width="48" align="right" border="0" /&gt;Many organizations have server side investments in Java technologies. While they want to build a compelling UI with Microsoft’s latest technologies, such as WPF and Silverlight, they still want to benefit from those existing investments instead of rewriting them. In order to do so, we have to bridge between those technologies and allow client side technologies consume Java web services.&lt;/p&gt;  &lt;p&gt;This post is a step by step guide for building a Java EE Web Service, and a .Net client application that consumes it.&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Before we get started with this walkthrough, make sure you have the following installed on your machine:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://java.sun.com/javase/downloads/index.jsp"&gt;Java Development Kit (JDK) 6&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://java.sun.com/javase/downloads/index.jsp"&gt;Java EE 5 SDK&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://download.netbeans.org/netbeans/6.1/final/"&gt;NetBeans 6.1 IDE (Web &amp;amp; Java EE)&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Create a Java Web Service (Java EE, JAX-WS)&lt;/h2&gt;  &lt;h3&gt;1. Create a new Web Application&lt;/h3&gt;  &lt;p&gt;In the NetBeans 6.1 IDE, choose &lt;strong&gt;File&lt;/strong&gt; –&amp;gt; &lt;strong&gt;New Project&lt;/strong&gt;. In the New Project Dialog select the &lt;strong&gt;Web&lt;/strong&gt; category, and choose &lt;strong&gt;Web Application&lt;/strong&gt; from the projects list. Then, Click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;* If the web category is not available in this dialog, it means that the NetBeans version you have installed isn’t the Web and Java EE package.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="370" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_00921b43-44c8-43e7-9954-721bb4a52316.png" width="540" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;In the Name and Location page, set the &lt;strong&gt;location&lt;/strong&gt; where you want to create the web application, and provide a &lt;strong&gt;name&lt;/strong&gt; for the project. Click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="334" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_2bb2efd0-0f14-4077-b31c-f64a16b85aef.png" width="540" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;In the Server and Settings page, leave the default settings (Java EE 5, Use GlassFish V2) and Click &lt;strong&gt;Finish&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="334" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_1814c77f-f6ea-4930-be4f-42f742fb5531.png" width="540" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;This creates the initial web application and opens the project for editing.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="209" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_5d95082a-9b2f-435c-844e-7085e386dc88.png" width="153" border="0" /&gt; &lt;/p&gt;  &lt;h3&gt;2. Create the Web Service&lt;/h3&gt;  &lt;p&gt;Add a new web service to the project. &lt;strong&gt;Right click&lt;/strong&gt; the project node and choose &lt;strong&gt;New&lt;/strong&gt; –&amp;gt; &lt;strong&gt;Web Service&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="184" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_241fc9c1-3247-44ab-8c32-093ccdf7115b.png" width="604" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;* Notice that the location of the Web Service option in the menu may change from this image and your IDE.&lt;/p&gt;  &lt;p&gt;In the New Web Service dialog, provide the &lt;strong&gt;Web Service Name&lt;/strong&gt;, and the &lt;strong&gt;Package&lt;/strong&gt;. The name of the service will affect the final URL for calling the service, and the package name will be the namespace of the service contract. Click &lt;strong&gt;Finish&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="403" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_65dcea9f-56c7-4a57-94c1-8378c0067a91.png" width="540" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;The Web Service now appears in the project tree.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="192" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_e21ceead-3b07-4f9d-b067-8359757c8f63.png" width="175" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;To implement the service, double click the service node in the project tree (in the figure above – CalculatorService). This will open the Web Service in Design mode, that lets you graphically design your service.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="314" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_65868a6a-936f-49eb-8c0f-42dd505963e9.png" width="606" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Change to &lt;strong&gt;Source View&lt;/strong&gt; by clicking on the &lt;strong&gt;Source&lt;/strong&gt; button in the upper toolbar, and this will open the CalculatorService.Java file for editing. Here is a sample implementation of the service. Notice how Java Annotations are similar to .Net Attributes, especially how similar they are to the Web Services attributes we know…&lt;/p&gt;  &lt;div style="font-size: 11pt; background: white; color: black; font-family: consolas"&gt;   &lt;p style="margin: 0px"&gt;package org.bursteg.calculator;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;import javax.jws.WebMethod;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;import javax.jws.WebParam;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;import javax.jws.WebService;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;@WebService&lt;/p&gt;    &lt;p style="margin: 0px"&gt;public class CalculatorService &lt;/p&gt;    &lt;p style="margin: 0px"&gt;{&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @WebMethod&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public int Add(@WebParam(name=&amp;quot;a&amp;quot;) int a, &lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; @WebParam(name=&amp;quot;b&amp;quot;) int b) &lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return a + b;&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin: 0px"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Deploy the web service to the web application server. From the NetBeans IDE this is done by &lt;strong&gt;right clicking&lt;/strong&gt; the project node, and choosing &lt;strong&gt;Undeploy and Deploy&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="281" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_d7967448-5b50-4d62-8f31-fc978b6e1933.png" width="329" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;After the web application has been deployed, just to make sure the web service works as expected,&amp;#160; you can &lt;strong&gt;right click&lt;/strong&gt; the web service node, and choose &lt;strong&gt;Test Web Service&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="379" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_2c8cedcb-c60a-4550-afa9-58e091d5b0fc.png" width="403" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;This will open the browser and navigate to a test page with the url of the service (&lt;a title="http://localhost:9232/Calculator/CalculatorServiceService" href="http://localhost:9232/Calculator/CalculatorServiceService"&gt;http://localhost:9232/Calculator/CalculatorServiceService&lt;/a&gt;) with a ?Tester suffix.&lt;/p&gt;  &lt;h2&gt;Call the Java Web Service from a .Net Client&lt;/h2&gt;  &lt;p&gt;In Visual Studio 2008, create a new console application.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="344" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_b8c958f2-c672-4c84-a62c-a3a6c9de0da6.png" width="540" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;This creates a new solution with a single Console Application project in it.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Right click&lt;/strong&gt; the project node and choose &lt;strong&gt;Add Service Reference&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="268" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_92498450-fd8f-4568-9191-2b7b974ed348.png" width="451" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;In the Add Service Reference Dialog, paste the address of the service metadata endpoint (service address + ?wsdl suffix: &lt;a title="http://localhost:9232/Calculator/CalculatorServiceService?wsdl" href="http://localhost:9232/Calculator/CalculatorServiceService?wsdl"&gt;http://localhost:9232/Calculator/CalculatorServiceService?wsdl&lt;/a&gt;), and click&lt;strong&gt; Go&lt;/strong&gt;. The dialog will get the service metadata and understand the service contract.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="435" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_71b74920-bf31-4aff-a377-9a1c8a20fb36.png" width="540" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;Provide a &lt;strong&gt;namespace&lt;/strong&gt; for the service reference, and click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;This will generate the client side proxy that lets you consume the service easily, and the required configuration settings into the configuration file.&lt;/p&gt;  &lt;p&gt;&lt;img title="Java EE Web Service .Net Client Interoperability" style="margin: 0px" height="273" alt="Java EE Web Service .Net Client Interoperability" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/HowToCallaJavaEEWebServicefrom.NetClient_1138C/image_a57f2ea1-4133-4a36-b078-7e24c1aaa00f.png" width="287" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;To call the service using the generated client side proxy, open Program.cs and use the following code:&lt;/p&gt;  &lt;div style="font-size: 11pt; background: white; color: black; font-family: consolas"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Main(&lt;span style="color: blue"&gt;string&lt;/span&gt;[] args)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;{&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;CalculatorServiceClient&lt;/span&gt; proxy = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;CalculatorServiceClient&lt;/span&gt;();&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;int&lt;/span&gt; result = proxy.Add(2, 3);&lt;/p&gt;    &lt;p style="margin: 0px"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: #a31515"&gt;&amp;quot;Calculator Service returned: &amp;quot;&lt;/span&gt; + result.ToString());&lt;/p&gt;    &lt;p style="margin: 0px"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Run the program and see that the web service is being called and the result is correct.&lt;/p&gt;  &lt;h2&gt;Conclusion&lt;/h2&gt;  &lt;p&gt;Since &lt;strong&gt;Java EE Web Services&lt;/strong&gt; (JAX-WS) are standard SOAP services, they are easily interoperable from a .Net client application with only several clicks. Visual Studio generated a &lt;strong&gt;.Net client proxy&lt;/strong&gt; that makes it very easy to connect and call the service.&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8754541" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bursteg/archive/tags/.Net+Framework+3.5/default.aspx">.Net Framework 3.5</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/Java/default.aspx">Java</category></item><item><title>LINQ to SQL Support for SQL Server 2008</title><link>http://blogs.msdn.com/bursteg/archive/2008/05/13/linq-to-sql-support-for-sql-server-2008.aspx</link><pubDate>Tue, 13 May 2008 11:17:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8499453</guid><dc:creator>Guy Burstein</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bursteg/comments/8499453.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bursteg/commentrss.aspx?PostID=8499453</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bursteg/rsscomments.aspx?PostID=8499453</wfw:comment><description>&lt;h1&gt;LINQ to SQL Support for SQL Server 2008&lt;/h1&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/LINQtoSQLSupportforSQLServer2008_9ED7/logo2_VS_2_2.gif"&gt;&lt;img style="margin: 0px" height="70" alt="LINQ to SQL Support for SQL Server 2008" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/LINQtoSQLSupportforSQLServer2008_9ED7/logo2_VS_2_thumb.gif" width="190" align="right" border="0"&gt;&lt;/a&gt; With the release of &lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/tags/VS2008+SP1/default.aspx"&gt;Visual Studio 2008 and .Net Framework 3.5 SP1&lt;/a&gt;, &lt;strong&gt;LINQ to SQL&lt;/strong&gt; now supports some of the new features in &lt;strong&gt;SQL Server 2008&lt;/strong&gt;.&lt;/p&gt; &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/linq-to-sql-sql-server-2008-date-time-types.aspx"&gt;LINQ to SQL with SQL Server 2008 Date Time Types&lt;/a&gt; &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/linq-to-sql-filestream.aspx"&gt;LINQ to SQL and FILESTREAM&lt;/a&gt;&lt;/li&gt; &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8499453" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net/default.aspx">ADO.Net</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/.Net+Framework+3.5/default.aspx">.Net Framework 3.5</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/LINQ+to+SQL/default.aspx">LINQ to SQL</category></item><item><title>Visual Studio 2008 and .Net Framework 3.5 SP1 Beta - A Guided Tour</title><link>http://blogs.msdn.com/bursteg/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-sp1-beta-a-guided-tour.aspx</link><pubDate>Mon, 12 May 2008 20:09:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8495378</guid><dc:creator>Guy Burstein</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/bursteg/comments/8495378.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bursteg/commentrss.aspx?PostID=8495378</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bursteg/rsscomments.aspx?PostID=8495378</wfw:comment><description>&lt;h1&gt;Visual Studio 2008 and .Net Framework 3.5 SP1 Beta - A Guided Tour&lt;/h1&gt; &lt;p&gt;&lt;img style="margin: 0px" height="70" alt="Visual Studio 2008 .Net Framework 3.5 SP1  Beta" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/VisualStudio2008SP1Beta1AGuidedTour_13B66/logo2_VS_2_70b4e669-6d10-4d59-970f-003acceb3a97.gif" width="190" align="right" border="0" mce_src="http://blogs.microsoft.co.il/blogs/bursteg/WindowsLiveWriter/VisualStudio2008SP1Beta1AGuidedTour_13B66/logo2_VS_2_70b4e669-6d10-4d59-970f-003acceb3a97.gif"&gt;Over the last month I've been working with an internal build of the &lt;strong&gt;Visual Studio 2008 and .Net Framework 3.5 SP1&lt;/strong&gt; &lt;strong&gt;Beta&lt;/strong&gt; in order to explore the new features in it. This post lists all the posts I've written exploring the service pack.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Overview of the Service Pack 1&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/download-and-install-visual-studio-2008-and-net-framework-3-5-sp1-beta-kb945140.aspx"&gt;Download and Install Visual Studio 2008 and .Net Framework 3.5 SP1 Beta&lt;/a&gt;  &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/new-assemblies-net-framework-3-5-sp1.aspx" mce_href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/new-assemblies-net-framework-3-5-sp1.aspx"&gt;New Assemblies in Visual Studio 2008 and .Net Framework 3.5 SP1&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;ADO.Net Entity Framework&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/EntityDataSource-Entity-Data-Source.aspx" mce_href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/EntityDataSource-Entity-Data-Source.aspx"&gt;EntityDataSource - Overview&lt;/a&gt;  &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/entitydatasource-entity-data-source-where-clause.aspx" mce_href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/entitydatasource-entity-data-source-where-clause.aspx"&gt;EntityDataSource - Where Clause&lt;/a&gt;  &lt;li&gt;&lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=403764"&gt;An Overview Screencast about EntityDataSource&lt;/a&gt;&amp;nbsp; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;ADO.Net Data Services&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/visual-studio-2008-sp1-ado-net-data-service-walkthrough.aspx" mce_href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/visual-studio-2008-sp1-ado-net-data-service-walkthrough.aspx"&gt;A Simple ADO.Net Data Service Walkthrough&lt;/a&gt; (updated for SP1)  &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/visual-studio-2008-sp1-querying-ado-net-data-service-net-client.aspx" mce_href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/visual-studio-2008-sp1-querying-ado-net-data-service-net-client.aspx"&gt;Querying an ADO.Net Data Service via .Net Client&lt;/a&gt; (updated for SP1) &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;ADO.Net Sync Services&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/sync-services-for-ado-net-with-sql-server-2008-change-tracking.aspx" mce_href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/sync-services-for-ado-net-with-sql-server-2008-change-tracking.aspx"&gt;Sync Services for ADO.Net now use SQL Server 2008 Change Tracking&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;SQL Server 2008 and Data Access Technologies&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/sqlfilestream-managed-api-for-sql-server-2008-filestream.aspx" mce_href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/sqlfilestream-managed-api-for-sql-server-2008-filestream.aspx"&gt;&lt;strong&gt;&lt;img style="margin: 0px" height="36" alt="Visual Studio 2008 and .Net Framework 3.5 SP1 Beta" src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/VisualStudio2008SP1Beta1AGuidedTour_13B66/SQL%20Server%202008_90ba9c9c-3c31-4d79-83c2-03689f747e35.gif" width="190" align="right" border="0" mce_src="http://blogs.microsoft.co.il/blogs/bursteg/WindowsLiveWriter/VisualStudio2008SP1Beta1AGuidedTour_13B66/SQL%20Server%202008_90ba9c9c-3c31-4d79-83c2-03689f747e35.gif"&gt;&lt;/strong&gt;SqlFileStream - Managed API for SQL Server 2008 FILESTREAM&lt;/a&gt;  &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/linq-to-sql-sql-server-2008-date-time-types.aspx" mce_href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/linq-to-sql-sql-server-2008-date-time-types.aspx"&gt;LINQ to SQL with SQL Server 2008 Date Time Types&lt;/a&gt;  &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/linq-to-sql-filestream.aspx" mce_href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/linq-to-sql-filestream.aspx"&gt;LINQ to SQL and FILESTREAM&lt;/a&gt;  &lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/ado-net-entity-framework-support-filestream.aspx" mce_href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/05/12/ado-net-entity-framework-support-filestream.aspx"&gt;ADO.Net Entity Framework support for FILESTREAM&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8495378" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bursteg/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/.Net+Framework+3.5/default.aspx">.Net Framework 3.5</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Entity+Framework/default.aspx">ADO.Net Entity Framework</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Data+Services/default.aspx">ADO.Net Data Services</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Sync+Services/default.aspx">ADO.Net Sync Services</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/LINQ+to+SQL/default.aspx">LINQ to SQL</category></item><item><title>.NET 3.5 Enhancements Training Kit is available for Download</title><link>http://blogs.msdn.com/bursteg/archive/2008/04/12/net-3-5-enhancements-training-kit-is-available-for-download.aspx</link><pubDate>Sat, 12 Apr 2008 10:09:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8384305</guid><dc:creator>Guy Burstein</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bursteg/comments/8384305.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bursteg/commentrss.aspx?PostID=8384305</wfw:commentRss><wfw:comment>http://blogs.msdn.com/bursteg/rsscomments.aspx?PostID=8384305</wfw:comment><description>&lt;h1&gt;.NET 3.5 Enhancements Training Kit is available for Download&lt;/h1&gt; &lt;p&gt;&lt;img style="margin: 0px" height="70" alt=".NET 3.5 Enhancements Training Kit " src="http://blogs.msdn.com/blogfiles/bursteg/WindowsLiveWriter/.NE.5EnhancementsTrainingKitisavailablef_8DB9/logo2_VS_2_79ed0109-fe06-4b0e-b982-8309b93a5de8.gif" width="190" align="right" border="0"&gt; The Developer and Platform Evangelism Group in Microsoft has created a new &lt;strong&gt;training kit&lt;/strong&gt; for all the &lt;strong&gt;enhancements for the .Net Framework 3.5&lt;/strong&gt;:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;ASP.NET MVC  &lt;li&gt;ASP.NET Dynamic Data  &lt;li&gt;ASP.NET AJAX History  &lt;li&gt;ASP.NET Silverlight controls  &lt;li&gt;ADO.NET Data Services  &lt;li&gt;ADO.NET Entity Framework &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;a href="http://download.microsoft.com/download/2/a/b/2ab3c38f-3a13-4c48-bdaa-5d989a33baac/NETFramework35Enhancements_TrainingKit.exe"&gt;Download the training kit&lt;/a&gt; (34.9 MB)&lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8384305" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net/default.aspx">ADO.Net</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/Resources/default.aspx">Resources</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/.Net+Framework+3.5/default.aspx">.Net Framework 3.5</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Entity+Framework/default.aspx">ADO.Net Entity Framework</category><category domain="http://blogs.msdn.com/bursteg/archive/tags/ADO.Net+Data+Services/default.aspx">ADO.Net Data Services</category></item></channel></rss>