<?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>Waldemir Cambiucci - Solutions Architect - Microsoft Brasil : .NET RIA Services</title><link>http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx</link><description>Tags: .NET RIA Services</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>WCF RIA Services Preview for Visual Studio 2010 Beta 2</title><link>http://blogs.msdn.com/wcamb/archive/2009/12/11/wcf-ria-services-preview-for-visual-studio-2010-beta-2.aspx</link><pubDate>Fri, 11 Dec 2009 17:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9935799</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9935799.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9935799</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9935799</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Novidades no ar! O WCF RIA Services Preview para Visual Studio 2010 Beta fou publicado semana passada! Veja:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WCF RIA Services Preview for Visual Studio 2010 Beta 2 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=91998faf-d2df-42bb-af2e-17d43d7ce078" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=91998faf-d2df-42bb-af2e-17d43d7ce078"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=91998faf-d2df-42bb-af2e-17d43d7ce078&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Essa dica veio do amigo &lt;A href="http://blogs.msdn.com/rchaves/" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/rchaves/"&gt;Richard Chaves&lt;/A&gt;, Gerente de Novas Tecnologias aqui da Microsoft Brasil.&lt;/P&gt;
&lt;P&gt;Esses últimos meses, participei de várias discussões sobre o uso de Silverlight como framework para aplicações RIA em Aplicações Linhas de Negócio (LOB Applications). Creio que o WCF RIA Services está se tornando um framework mais maduro, tratando cenários importantes para aplicações RIA, com grande integração com serviços WCF.&lt;/P&gt;
&lt;P&gt;Em sua nova versão, o &lt;STRONG&gt;WCF RIA Services&lt;/STRONG&gt; é posicionado como parte da família WCF – Windows Communication Foundation, com total aderência ao modelo de programação WCF, assim como o próprio modelo de serviços e suporte para diversos formatos, protocolos e transportes para entrega de mensagens. &lt;/P&gt;
&lt;P&gt;A figura abaixo foi apresentada como arquitetura container do WCF RIA Services durante o pdc09, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WCFRIAServicesPreviewforVisualStudio2010_D6B2/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WCFRIAServicesPreviewforVisualStudio2010_D6B2/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WCFRIAServicesPreviewforVisualStudio2010_D6B2/image_thumb.png" width=538 height=314 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/WCFRIAServicesPreviewforVisualStudio2010_D6B2/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Veja mais nessas sessões do pdc09:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Mastering Microsoft .NET RIA Services&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/CL07" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/CL07"&gt;http://microsoftpdc.com/Sessions/CL07&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Building Amazing Business Applications with Microsoft Silverlight and Microsoft .NET RIA Services &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://microsoftpdc.com/Sessions/CL21" rel=nofollow target=_blank mce_href="http://microsoftpdc.com/Sessions/CL21"&gt;http://microsoftpdc.com/Sessions/CL21&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Espero separar um tempo nas próximas semanas para criar alguns bons exemplos sobre o WCF RIA Services em cenários de negócio (LOB).&lt;/P&gt;
&lt;P&gt;Outra questão importante é sobre a migração de frameworks de RIA para o WCF RIA Services. Existem várias empresas que já criaram seus próprios frameworks de RIA, muito antes das primeiras versões do .NET RIA Services. Nesse caso, como aproveitar ou migrar essas aplicações para o novo WCF RIA Services? Você tem um framework de RIA doméstico? Já avaliou o impacto de migração para o WCF RIA Services? O esforço de migração seria justificado? &lt;/P&gt;
&lt;P&gt;Espero ajudá-lo com algumas respostas em breve. Boas discussões no futuro… aguardem!!!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9935799" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>pdc09: Novidades com o WCF RIA Services</title><link>http://blogs.msdn.com/wcamb/archive/2009/11/19/pdc09-novidades-com-o-wcf-ria-services.aspx</link><pubDate>Thu, 19 Nov 2009 20:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9925737</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9925737.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9925737</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9925737</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Durante o PDC09, Brad Abrams, Program Manager do RIA Services, fez uma apresentação sensacional sobre o WCF RIA Services, com uma DEMO de mais de 40 minutos. A sessão foi essa aqui:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Building Amazing Business Applications with Microsoft Silverlight and Microsoft .NET RIA Services &lt;BR&gt;&lt;/STRONG&gt;by Brad Abrams in Hall E on Thursday at 11:30 AM &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;FONT color=#000080&gt;Learn how to build n-tier Rich Internet Applications (RIA) on Silverlight by tapping the power of .NET RIA Services. Walk you through an example of building an application from scratch using the pattern run-time components and tools provided by .NET RIA Services. See how it helps you write application logic to expose data and operations in a carefully controlled fashion using tools integrated into Visual Studio with support for validation, authentication, authorization and handling units of work. &lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Ref.: &lt;A title=http://microsoftpdc.com/Sessions/CL21 href="http://microsoftpdc.com/Sessions/CL21" mce_href="http://microsoftpdc.com/Sessions/CL21"&gt;http://microsoftpdc.com/Sessions/CL21&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Não deixe de anotar e conferir os slides e vídeo da apresentação, assim que forem publicados no site do PDC09. Mais material sobre o framework nos links abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Blogs de Brad Abrams &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A title=http://blogs.msdn.com/brada/default.aspx href="http://blogs.msdn.com/brada/default.aspx" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/brada/default.aspx"&gt;http://blogs.msdn.com/brada/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;WCF RIA Services&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A title=http://silverlight.net/getstarted/riaservices/ href="http://silverlight.net/getstarted/riaservices/" rel=nofollow target=_blank mce_href="http://silverlight.net/getstarted/riaservices/"&gt;http://silverlight.net/getstarted/riaservices/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925737" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>Architecture in a Box: RIA – Rich Internet Application</title><link>http://blogs.msdn.com/wcamb/archive/2009/10/05/architecture-in-a-box-rich-internet-application.aspx</link><pubDate>Mon, 05 Oct 2009 14:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9903189</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9903189.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9903189</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9903189</wfw:comment><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ArchitectureinaBoxRichInternetApplicatio_E472/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ArchitectureinaBoxRichInternetApplicatio_E472/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 0px" title=image border=0 alt=image align=right src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ArchitectureinaBoxRichInternetApplicatio_E472/image_thumb.png" width=240 height=119 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/ArchitectureinaBoxRichInternetApplicatio_E472/image_thumb.png"&gt;&lt;/A&gt; Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Como primeira sessão da série Architecture in a Box, segue abaixo uma apresentação sobre RIA – Rich Internet Application e seus recursos. &lt;/P&gt;
&lt;P&gt;Entre os tópicos que falo, destaque para o .NET RIA Services, que você já viu por aqui! &lt;BR&gt;&lt;/P&gt;
&lt;DIV style="TEXT-ALIGN: left; WIDTH: 425px" id=__ss_2122789&gt;
&lt;OBJECT style="MARGIN: 0px" width=425 height=355&gt;&lt;PARAM NAME="movie" VALUE="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=aab301-richinternetapplication-wcamb-091004145108-phpapp02&amp;amp;stripped_title=aab301-rich-internet-application-wcamb"&gt;&lt;PARAM NAME="allowFullScreen" VALUE="true"&gt;&lt;PARAM NAME="allowScriptAccess" VALUE="always"&gt;
&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=aab301-richinternetapplication-wcamb-091004145108-phpapp02&amp;amp;stripped_title=aab301-rich-internet-application-wcamb" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;
&lt;DIV style="FONT-FAMILY: tahoma,arial; HEIGHT: 26px; FONT-SIZE: 11px; PADDING-TOP: 2px"&gt;View more &lt;A style="TEXT-DECORATION: underline" href="http://www.slideshare.net/"&gt;presentations&lt;/A&gt; from &lt;A style="TEXT-DECORATION: underline" href="http://www.slideshare.net/wcamb"&gt;Waldemir Cambiucci&lt;/A&gt;.&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Nessa apresentação não falo de aspectos de AJAX, importantes para aplicações RIA. Vou deixar o ASP.NET, o AJAX, MVC, Dynamic Data e jQuery para uma sessão dedicada só para eles. Aguardem!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9903189" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arch+in+a+Box/default.aspx">Arch in a Box</category></item><item><title>WebCast de Arquitetura: .NET Ria Services</title><link>http://blogs.msdn.com/wcamb/archive/2009/08/12/webcast-de-arquitetura-net-ria-services.aspx</link><pubDate>Wed, 12 Aug 2009 17:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9866491</guid><dc:creator>wcamb</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9866491.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9866491</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9866491</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Teremos hoje de tarde (dia 12/08) um WebCast de Arquitetura, para falar sobre aplicações &lt;STRONG&gt;RIA - Rich Internet Applications&lt;/STRONG&gt; e o framework &lt;STRONG&gt;.NET RIA Services&lt;/STRONG&gt;. Temos acompanhado seu desenvolvimento aqui no blog desde março, veja mais &lt;A href="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx"&gt;aqui&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;No WebCast de hoje vou falar sobre os componentes deste framework e alguns cenários de aplicações. Para se cadastrar, veja os dados e link abaixo: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Event Name: Webcast Arquitetura: Construindo aplicações RIA com o .NET RIA Services&lt;/STRONG&gt; &lt;BR&gt;Start Date: 12-Aug-2009 &lt;BR&gt;Start Time: 05:30 PM (GMT-03:00) Brasilia &lt;BR&gt;End Date: 12-Aug-2009 &lt;BR&gt;End Time: 06:30 PM (GMT-03:00) Brasilia &lt;BR&gt;Ref.: &lt;A href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032423287&amp;amp;culture=pt-BR" rel=nofollow target=_blank mce_href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032423287&amp;amp;culture=pt-BR"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032423287&amp;amp;culture=pt-BR&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Para quem sempre pergunta sobre portas de firewall que precisam ser abertas para visualizar o WebCast, são essas: 80, 443, 554, 1755.&lt;/P&gt;
&lt;P&gt;Não deixe participar! Te vejo no WebCast…&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9866491" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category></item><item><title>Microsoft .NET RIA Services CTP July 2009 : Algumas mudanças com o Silverlight 3 final</title><link>http://blogs.msdn.com/wcamb/archive/2009/07/30/microsoft-net-ria-services-ctp-july-2009-algumas-mudan-as-com-o-silverlight-3-final.aspx</link><pubDate>Thu, 30 Jul 2009 19:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9853528</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9853528.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9853528</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9853528</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo? &lt;/P&gt;
&lt;P&gt;Depois de alguns testes com o novo CTP de Julho do .NET RIA Services e a versão final do Silverlight 3.0, notei algumas mudanças e comentários aqui são necessários. &lt;/P&gt;
&lt;P&gt;Nesses posts abaixo, você tinha alguns exemplos com o .NET RIA Services CTP de Maio 2009 e Silverlight 3.0 ainda Beta, lembra deles? &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Mais recursos do .NET RIA Services CTP Maio 2009&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://blogs.msdn.com/wcamb/archive/2009/06/26/mais-recursos-do-net-ria-services-ctp-maio-2009.aspx" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/06/26/mais-recursos-do-net-ria-services-ctp-maio-2009.aspx"&gt;http://blogs.msdn.com/wcamb/archive/2009/06/26/mais-recursos-do-net-ria-services-ctp-maio-2009.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;HelloWorld com o .NET RIA Services&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://blogs.msdn.com/wcamb/archive/2009/06/24/helloworld-com-o-net-ria-services.aspx" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/06/24/helloworld-com-o-net-ria-services.aspx"&gt;http://blogs.msdn.com/wcamb/archive/2009/06/24/helloworld-com-o-net-ria-services.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;As dlls a seguir foram mantidas no SDK do Silverlight:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;System.Windows.Controls.dll&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;System.Windows.Controls.Data.dll&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;System.Windows.Ria.Controls.dll&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Porém, a &lt;FONT color=#000080&gt;System.Windows.Controls.Data.DataForm.dll&lt;/FONT&gt;, que era usada para a adição de controles dataControls (como o &lt;STRONG&gt;DataPager&lt;/STRONG&gt;) foi movida do Silverlight SDK para o Silverlight Toolkit. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Silverlight Toolkit - July 2009 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246" rel=nofollow target=_blank mce_href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246"&gt;http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24246&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Se você não havia encontrado o Data.DataForm a partir da versão final do SL3, essa era a razão. Uma lista completa de quebras e mudanças do SL2 para o SL3 é encontrada no link abaixo: &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Ensuring That Your Silverlight 2 Applications Work with Silverlight 3 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://msdn.microsoft.com/en-us/library/cc645049(VS.95).aspx" rel=nofollow target=_blank mce_href="http://msdn.microsoft.com/en-us/library/cc645049(VS.95).aspx"&gt;http://msdn.microsoft.com/en-us/library/cc645049(VS.95).aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;O .NET RIA Services também mudou e a partir da documentação, o primeiro exemplo é dado usando o &lt;STRONG&gt;Entity Framework&lt;/STRONG&gt; para a geração do &lt;STRONG&gt;DomainContext&lt;/STRONG&gt;, exportando as entidades mapeadas para o cliente Ria. &lt;/P&gt;
&lt;P&gt;Algumas pessoas também me perguntaram sobre o &lt;STRONG&gt;DomainContext&lt;/STRONG&gt; gerado pela classe proxy no lado cliente. Quando tentaram fazer o binding dos dados no controle &lt;STRONG&gt;DataGrid&lt;/STRONG&gt;, por exemplo, tiveram dificuldade para encontrar o &lt;STRONG&gt;DomainContext&lt;/STRONG&gt; ou mesmo fazer a associação do &lt;STRONG&gt;DataSource&lt;/STRONG&gt; no controle.&lt;/P&gt;
&lt;P&gt;Para isso, vale destacar a localização do &lt;STRONG&gt;DomainContext&lt;/STRONG&gt;. Sempre que a documentação citá-lo, ele está criado no arquivo da pasta &lt;STRONG&gt;Generetad_Code&lt;/STRONG&gt;, por exemplo, o arquivo “&lt;STRONG&gt;SilverlightApplication1.Web.g.cs&lt;/STRONG&gt;”. Veja a figura abaixo, onde destaco o DomainContext criado:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Mic.NETRIAServicesCTPJuly2009Algumasmuda_FC24/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Mic.NETRIAServicesCTPJuly2009Algumasmuda_FC24/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Mic.NETRIAServicesCTPJuly2009Algumasmuda_FC24/image_thumb.png" width=522 height=287 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Mic.NETRIAServicesCTPJuly2009Algumasmuda_FC24/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;O nome é que não ajuda :( quando você criar a classe &lt;STRONG&gt;DomainService&lt;/STRONG&gt;, ela empresta o nome para o &lt;STRONG&gt;DomainContext&lt;/STRONG&gt; no proxy cliente. Isso pode gerar a confusão!&lt;/P&gt;
&lt;P&gt;A partir desse &lt;STRONG&gt;DomainContext&lt;/STRONG&gt;, que no meu exemplo foi gerado a partir do &lt;STRONG&gt;EDMX&lt;/STRONG&gt; do Entity Framework no lado servidor, podemos usar o seguinte mapa para binding de dados.&lt;/P&gt;
&lt;P&gt;Arquivo no lado do cliente: &lt;STRONG&gt;MainPage.xaml&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; MAX-HEIGHT: 200px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px" id=codeSnippetWrapper&gt;
&lt;DIV style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum1&gt;   1:&lt;/SPAN&gt; &amp;lt;UserControl x:Class=&lt;SPAN style="COLOR: #006080"&gt;"SilverlightApplication1.MainPage"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum2&gt;   2:&lt;/SPAN&gt;     xmlns:data=&lt;SPAN style="COLOR: #006080"&gt;"clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum3&gt;   3:&lt;/SPAN&gt;     xmlns:dataControls=&lt;SPAN style="COLOR: #006080"&gt;"clr-namespace:System.Windows.Controls.Data;assembly=System.Windows.Controls.Data.DataForm"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum4&gt;   4:&lt;/SPAN&gt;     xmlns=&lt;SPAN style="COLOR: #006080"&gt;"http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum5&gt;   5:&lt;/SPAN&gt;     xmlns:x=&lt;SPAN style="COLOR: #006080"&gt;"http://schemas.microsoft.com/winfx/2006/xaml"&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum6&gt;   6:&lt;/SPAN&gt;     xmlns:d=&lt;SPAN style="COLOR: #006080"&gt;"http://schemas.microsoft.com/expression/blend/2008"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum7&gt;   7:&lt;/SPAN&gt;     xmlns:mc=&lt;SPAN style="COLOR: #006080"&gt;"http://schemas.openxmlformats.org/markup-compatibility/2006"&lt;/SPAN&gt; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum8&gt;   8:&lt;/SPAN&gt;     mc:Ignorable=&lt;SPAN style="COLOR: #006080"&gt;"d"&lt;/SPAN&gt; d:DesignWidth=&lt;SPAN style="COLOR: #006080"&gt;"640"&lt;/SPAN&gt; d:DesignHeight=&lt;SPAN style="COLOR: #006080"&gt;"480"&lt;/SPAN&gt;&amp;gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum9&gt;   9:&lt;/SPAN&gt;   &amp;lt;Grid x:Name=&lt;SPAN style="COLOR: #006080"&gt;"LayoutRoot"&lt;/SPAN&gt;&amp;gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum10&gt;  10:&lt;/SPAN&gt;         &amp;lt;data:DataGrid Name=&lt;SPAN style="COLOR: #006080"&gt;"TheDataGrid"&lt;/SPAN&gt;&amp;gt;&amp;lt;/data:DataGrid&amp;gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum11&gt;  11:&lt;/SPAN&gt;   &amp;lt;/Grid&amp;gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum12&gt;  12:&lt;/SPAN&gt; &amp;lt;/UserControl&amp;gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Arquivo no lado do cliente: &lt;STRONG&gt;MainPage.xaml.cs&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; MAX-HEIGHT: 200px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px" id=codeSnippetWrapper&gt;
&lt;DIV style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum1&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum2&gt;   2:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Collections.Generic;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum3&gt;   3:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Linq;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum4&gt;   4:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Net;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum5&gt;   5:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum6&gt;   6:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Controls;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum7&gt;   7:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Documents;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum8&gt;   8:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Input;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum9&gt;   9:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Media;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum10&gt;  10:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Media.Animation;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum11&gt;  11:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Shapes;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum12&gt;  12:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum13&gt;  13:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;// Adicionar novos namespaces&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum14&gt;  14:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; SilverlightApplication1.Web;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum15&gt;  15:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Ria.Data;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum16&gt;  16:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum17&gt;  17:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;namespace&lt;/SPAN&gt; SilverlightApplication1&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum18&gt;  18:&lt;/SPAN&gt; {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum19&gt;  19:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;partial&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; MainPage : UserControl&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum20&gt;  20:&lt;/SPAN&gt;     {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum21&gt;  21:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #008000"&gt;// Adicionar o contexto do DomainServices1&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum22&gt;  22:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; DomainService1 _ctxt = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; DomainService1();&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum23&gt;  23:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum24&gt;  24:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; MainPage()&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum25&gt;  25:&lt;/SPAN&gt;         {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum26&gt;  26:&lt;/SPAN&gt;             InitializeComponent();&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum27&gt;  27:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum28&gt;  28:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #008000"&gt;// Carregar as entidades deseajdas.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum29&gt;  29:&lt;/SPAN&gt;             LoadOperation&amp;lt;Contacts&amp;gt; loadOp = &lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;._ctxt.Load(&lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;._ctxt.GetContactsQuery());&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum30&gt;  30:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum31&gt;  31:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;.TheDataGrid.ItemsSource = loadOp.Entities;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum32&gt;  32:&lt;/SPAN&gt;         }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum33&gt;  33:&lt;/SPAN&gt;     }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum34&gt;  34:&lt;/SPAN&gt; }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;No código acima, note o trecho onde fazemos o binding para o &lt;STRONG&gt;DataGrid&lt;/STRONG&gt; colocado na página .XAML, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Mic.NETRIAServicesCTPJuly2009Algumasmuda_FC24/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Mic.NETRIAServicesCTPJuly2009Algumasmuda_FC24/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Mic.NETRIAServicesCTPJuly2009Algumasmuda_FC24/image_thumb_1.png" width=508 height=335 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Mic.NETRIAServicesCTPJuly2009Algumasmuda_FC24/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;O que eu fiz foi carregar os dados da entidade &lt;STRONG&gt;Contacts&lt;/STRONG&gt;, que foi exportada pelo contexto, a partir do EDMX gerado para meu banco de dados. Para isso, usei o método &lt;EM&gt;GetContactsQuery()&lt;/EM&gt; do contexto gerado. Para as outras entidades, também tenho os métodos de consulta, como &lt;EM&gt;GetAccountsQuery(), GetBusinessCustomersQuery(), GetCustomersQuery(),&lt;/EM&gt; etc. &lt;/P&gt;
&lt;P&gt;Recomendo a leitura e testes sobre os exemplos com o novo .NET RIA Services CTP de Julho. Ele parece mais simples e aos poucos, esse framework vai ganhando os contornos de uma boa solução para o middle tier de uma solução RIA. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft .NET RIA Services July 2009 Preview&lt;/STRONG&gt; &lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en#filelist" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en#filelist"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en#filelist&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9853528" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category></item><item><title>Microsoft .NET RIA Services July 2009 Preview</title><link>http://blogs.msdn.com/wcamb/archive/2009/07/17/microsoft-net-ria-services-july-2009-preview.aspx</link><pubDate>Fri, 17 Jul 2009 15:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9837345</guid><dc:creator>wcamb</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9837345.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9837345</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9837345</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Nessa correria de anúncios e reuniões, acabei deixando passar o lançamento do novo Preview do .NET RIA Services:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_thumb_1.png" width=509 height=161 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_thumb_1.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft .NET RIA Services July 2009 Preview&lt;/STRONG&gt; &lt;BR&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en#filelist" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en#filelist"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en#filelist&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Agora trabalhando com a versão final do Silverlight 3.0. A documentação disponível também cresceu bastante, passando de 100 para quase &lt;STRONG&gt;200 páginas&lt;/STRONG&gt;. Antes de instalar o novo Preview, recomendo desinstalar a versão anterior de Maio. O pacote final passou de 6.3 MB (v.1.0.0.10) para 10 MB (v.1.0.0.11) instalado.&lt;/P&gt;
&lt;P&gt;Ainda estou revendo minhas demos e cenários, mas já vi que temos um novo template, o .NET RIA Services Class Library:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_thumb_2.png" width=521 height=375 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Esse template permite o empacotamento de bibliotecas de classe de uma aplicação RIA distribuída em múltiplas camadas, através de um único pacote! Ao final, sua aplicação será encapsulada como na figura abaixo:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_thumb_3.png" width=443 height=201 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_thumb_3.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Já o template &lt;STRONG&gt;Silverlight Business Application&lt;/STRONG&gt; mudou o layout da interface Web, aproveitando o design disponível com o Silverlight 3.0 final:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_12.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_thumb.png" width=486 height=235 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/aa1.NETRIAServicesPreviewdeJulhojfoianun_DFCF/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Em breve voltamos aqui com novos posts e cenários do novo&lt;STRONG&gt; Preview do .NET RIA Services&lt;/STRONG&gt;, falando um pouco mais sobre suas novidades.&lt;/P&gt;
&lt;P&gt;Para ver os outros posts sobre o .NET RIA Services, confira a TAG&lt;STRONG&gt; [.NET RIA Services]&lt;/STRONG&gt;, &lt;A href="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx"&gt;aqui&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9837345" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category></item><item><title>Mais recursos do .NET RIA Services CTP Maio 2009</title><link>http://blogs.msdn.com/wcamb/archive/2009/06/26/mais-recursos-do-net-ria-services-ctp-maio-2009.aspx</link><pubDate>Fri, 26 Jun 2009 16:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9805418</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9805418.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9805418</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9805418</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Este é mais um post sobre os recursos do .NET RIA Services, que a Microsoft está desenvolvendo para a construção de aplicações &lt;STRONG&gt;RIA – Rich Internet Application&lt;/STRONG&gt; de uma forma mais simplificada.&lt;/P&gt;
&lt;P&gt;No post &lt;A href="http://blogs.msdn.com/wcamb/archive/2009/06/24/helloworld-com-o-net-ria-services.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/06/24/helloworld-com-o-net-ria-services.aspx"&gt;anterior&lt;/A&gt;, vimos os passos para a construção de uma primeira aplicação HelloWorld, que usava o dataGrid Control no Silverlight 3 Beta 1 para apresentar os dados de um banco de uma aplicação cliente.&lt;/P&gt;
&lt;P&gt;Para este post, vamos repetir os passos iniciais de criação da solução RIA:&lt;/P&gt;
&lt;P&gt;1. Criar a solução a partir do template “&lt;STRONG&gt;Silverlight Navigation Application&lt;/STRONG&gt;”.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb.png" width=490 height=372 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;2. Adicionar um modelo de dados através de uma classe LINQ to SQL, criando assim um arquivo “&lt;STRONG&gt;DataClasses.dbml&lt;/STRONG&gt;”.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_1.png" width=447 height=320 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;3. Compilar a solução antes de seguir para o próximo passo!&lt;/P&gt;
&lt;P&gt;4. Adicionar uma classe “&lt;STRONG&gt;Domain Services&lt;/STRONG&gt;”, escolhendo as entidades que serão exportadas a partir do modelo de dados “Data Classes”.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_2.png" width=473 height=333 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Para a escolha das entidades, selecionei todas as tabelas do meu modelo, escolhendo também o modo de edição para cada entidade.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_3.png" width=355 height=364 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;5. Compilar a solução antes de seguir para o próximo passo!&lt;/P&gt;
&lt;P&gt;6. No projeto cliente, adicionar uma referência para os assemblies &lt;STRONG&gt;System.Windows.Controls.dll, System.Windows.Controls.Data.dll &lt;/STRONG&gt;e &lt;STRONG&gt;System.Windows.Ria.Controls.dll&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;7. No arquivo “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;” do projeto cliente, adicionar uma referência ao namespace do Ria.Controls, como vemos no &lt;EM&gt;xmlns:ria&lt;/EM&gt;:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_10.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_4.png" width=525 height=103 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_4.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Neste ponto, temos uma solução que pode ser compilada e que exporta para a camada cliente as entidades e regras de negócio da solução. O principal objetivo do .NET RIA Services é tornar o desenvolvimento de aplicações RIA algo mais simples, gerando automaticamente as operações de CRUD e o mapeamento de entidades que serão passadas do lado servidor para o lado cliente. Assim, vamos agora criar um &lt;STRONG&gt;DomainDataSource&lt;/STRONG&gt; para manipular no lado cliente as entidades passadas.&lt;/P&gt;
&lt;P&gt;8. Vamos adicionar um &lt;STRONG&gt;DomainDataSource&lt;/STRONG&gt; na página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;” do lado cliente.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_34.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_34.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_16.png" width=515 height=121 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_16.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;9. Ao adicionar o Domain Service no lado do servidor, o Visual Studio gera um cliente &lt;STRONG&gt;DomainContext&lt;/STRONG&gt; que faz a integração de entidades entre as partes da aplicação. Assim, devemos agora fazer o binding do &lt;STRONG&gt;DomainContext&lt;/STRONG&gt; do lado cliente com nosso &lt;STRONG&gt;DataSource&lt;/STRONG&gt; RIA. Para isso, adicione a referência ao projeto servidor na página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;”&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_14.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_14.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_6.png" width=459 height=48 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_6.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;10. Na sequência, fazemos o binding no DataSource ao nosso contexto, via a chamada &lt;EM&gt;&amp;lt;local:DomainService1/&amp;gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_22.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_22.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_10.png" width=510 height=134 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_10.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;11. Finalmente, vamos adicionar o &lt;STRONG&gt;dataGrid&lt;/STRONG&gt; Control e fazer o binding para o &lt;STRONG&gt;DomainDataSource&lt;/STRONG&gt; que geramos para a apresentação dos dados. Primeiro, adicionar o xml namespace data na página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;”.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_18.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_8.png" width=516 height=67 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;12. Depois, adicionar o controle DataGrid mesmo, fazendo o binding para o customersDataSource, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_20.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_20.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_9.png" width=468 height=88 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_9.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Pronto! Podemos compilar e rodar nossa aplicação, que deverá apresentar um grid preenchido com os dados da entidade Customer apenas. Veja que fizemos apenas uma carga, no LoadMethodName &lt;STRONG&gt;= “LoadCustomers”.&lt;/STRONG&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_24.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_24.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_11.png" width=518 height=295 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_11.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Para ilustrar um pouco mais essa demo, vamos adicionar um controle de paginação com o controle &lt;STRONG&gt;DataPager&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;13. Para isso, adicionar no lado do cliente uma referência para o assembly &lt;STRONG&gt;System.Windows.Controls.Data.DataForm.dll&lt;/STRONG&gt;. Se ainda não fez, agora é o momento.&lt;/P&gt;
&lt;P&gt;14. Adicione o xml namespace na página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;” para o controle.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_26.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_26.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_12.png" width=518 height=54 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_12.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;15. Como último passo, adicionar o controle e fazer seu binding com o &lt;STRONG&gt;DomainDataSource&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_32.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_32.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_15.png" width=517 height=54 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_15.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Pronto! Rodando a aplicação, você verá nosso grid com o &lt;STRONG&gt;DataPager&lt;/STRONG&gt; no rodapé, apresentando os dados de 3 em 3 linhas, como vemos abaixo:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_30.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_30.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_14.png" width=498 height=298 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Maisrecursosdo.NETRIAServicesCTP1_14E6F/image_thumb_14.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Adicionando novos controles RIA, você pode trabalhar ainda com agrupamento de dados (&lt;STRONG&gt;GroupDescriptor&lt;/STRONG&gt;), ordenação (&lt;STRONG&gt;SortDescriptor&lt;/STRONG&gt;) e filtros (&lt;STRONG&gt;FilterDescriptor&lt;/STRONG&gt;) enquanto manipula suas entidades no lado cliente.&lt;/P&gt;
&lt;P&gt;O CTP de Maio do .NET RIA Services vem com uma documentação bem interessante, que oferece outros laboratórios que você pode conferir. &lt;/P&gt;
&lt;P&gt;Em posts futuros, vamos continuar explorando esse framework que deve facilitar muito a construção de aplicações LOB sobre o Silverlight 3, oferecendo grande produtividade para as equipes de desenvolvimento. Por isso, continue ligado!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9805418" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category></item><item><title>HelloWorld com o .NET RIA Services</title><link>http://blogs.msdn.com/wcamb/archive/2009/06/24/helloworld-com-o-net-ria-services.aspx</link><pubDate>Thu, 25 Jun 2009 01:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9802328</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9802328.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9802328</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9802328</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Quando pensamos no desenvolvimento de aplicações &lt;STRONG&gt;RIA – Rich Internet Application&lt;/STRONG&gt;, o uso de uma abordagem n-tier envolve uma série de desafios. Assim, o principal objetivo do&lt;STRONG&gt; .NET RIA Services&lt;/STRONG&gt; é oferecer a produtividade do &lt;STRONG&gt;ASP.NET&lt;/STRONG&gt;/&lt;STRONG&gt;RAD - Rapid Application Development&lt;/STRONG&gt; para o desenvolvimento de aplicações RIA. &lt;/P&gt;
&lt;P&gt;O&lt;STRONG&gt; .NET RIA Services&lt;/STRONG&gt; oferece uma unificação no desenvolvimento entre cliente e servidor, focando os dados da aplicação e a camada de negócios. Através de um framework prescritivo, que oferece templates e patterns atendendo cenários típicos de RIA, o .NET RIA Services lida com os principais tópicos de integração do cliente Web com as camadas de negócio do lado do servidor, encapsulando diversas operações.&lt;/P&gt;
&lt;P&gt;Entre os principais tópicos tratados pelo .NET RIA Services temos:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;manipulação de dados, através de ordenação, paginação e filtros;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;regras de acesso a dados, através de autorização, validação e conflito de acesso;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;operações customizadas;&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;operações batching e off-line;&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Neste post, vamos ver uma primeira aplicação com o .NET RIA Services, usando o CTP de Maio de 2009. Para preparar sua máquina para esse desenvolvimento, instale os pacotes indicados neste post &lt;A href="http://blogs.msdn.com/wcamb/archive/2009/06/22/net-ria-services-roadmap.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/06/22/net-ria-services-roadmap.aspx"&gt;aqui&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Vamos começar criando uma aplicação do tipo “&lt;STRONG&gt;Silverlight Navigation Application”&lt;/STRONG&gt; com o Visual Studio 2008:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 503px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 317px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_2.png" width=524 height=332 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Criando nossa aplicação “&lt;STRONG&gt;HelloWorldRIAServices&lt;/STRONG&gt;”, devemos selecionar as opções de "&lt;STRONG&gt;Host the Silverlight application in a new Web Site&lt;/STRONG&gt;”, assim como a opção "&lt;STRONG&gt;Link to ASP.NET server project&lt;/STRONG&gt;", como vemos na figura a seguir:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_3.png" width=431 height=375 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Nossa solução é criada com dois projetos principais: a parte &lt;STRONG&gt;cliente&lt;/STRONG&gt; e a parte &lt;STRONG&gt;servidor&lt;/STRONG&gt;, já que escolhemos um projeto do tipo ASP.NET Web Application para container da solução. No futuro, teremos outras opções disponíveis para o .NET RIA Services. A solução faz referência para algumas bibliotecas novas, como vemos abaixo: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_12.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_5.png" width=317 height=481 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_5.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Nesse ponto, faça uma primeira compilação e execute a solução. Você verá uma página Web com &lt;STRONG&gt;Silverlight 3.0&lt;/STRONG&gt;, que oferece a estrutura base para nossa solução. Essa página poderá ser customizada conforme a necessidade de sua aplicação.&lt;/P&gt;
&lt;P&gt;O passo seguinte é criar um modelo de dados. Adicione uma classe &lt;STRONG&gt;LINQ to SQL&lt;/STRONG&gt; ao projeto “&lt;STRONG&gt;HelloWorldRIAServices.Web&lt;/STRONG&gt;”, apontando para a base de dados de sua preferência. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_16.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_7.png" width=520 height=347 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_7.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Com a classe &lt;STRONG&gt;LINQ to SQL&lt;/STRONG&gt; criada, adicione as tabelas desejadas. No meu exemplo, adicionei o modelo de dados com as seguintes tabelas:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_18.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 443px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 304px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_8.png" width=481 height=337 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_8.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Nesse ponto, faça mais uma compilação, gerando assim as classes para o mapeamento de dados do modelo escolhido, antes de continuar.&lt;/P&gt;
&lt;P&gt;Feita a compilação, vamos adicionar uma classe &lt;STRONG&gt;Domain Service&lt;/STRONG&gt;, da categoria Web. Adicione essa nova classe ao projeto “&lt;STRONG&gt;HelloWorldRIAServices.Web&lt;/STRONG&gt;”.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_20.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_20.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_9.png" width=514 height=358 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_9.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;No meu exemplo, chamei essa nova classe de “&lt;STRONG&gt;HelloWorldDomainService.cs&lt;/STRONG&gt;”. Assim que você clicar em “Add”, você terá uma nova janela para escolher as &lt;STRONG&gt;entidades&lt;/STRONG&gt; que farão parte de seu domínio de serviços e serão expostas para o lado cliente. &lt;/P&gt;
&lt;P&gt;Escolhi todas as tabelas, sem a opção de edição ligada, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_24.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_24.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 428px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 444px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_11.png" width=460 height=472 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_11.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Note que estou selecionando também a opção “&lt;STRONG&gt;Generate associated classes for metadata&lt;/STRONG&gt;”. Essa opção irá gerar as classes no lado cliente, para o tratamento das entidades na camada de apresentação. Você poderá ver o arquivo gerado no projeto “HelloWorldRIAServices” fazendo a apresentação de todos os arquivos do projeto, na opção “Project\Show all Files”.&lt;/P&gt;
&lt;P&gt;Adicionando essa classe, nosso projeto ganha algumas novas referências, como &lt;STRONG&gt;System.ComponentModel.DataAnnotations, System.Web.DomainServices, System.Web.DomainServices.Providers&lt;/STRONG&gt; e&lt;STRONG&gt; System.Web.Ria&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Também criamos os arquivos&lt;STRONG&gt; “HelloWorldDomainService.cs”&lt;/STRONG&gt; e &lt;STRONG&gt;“HelloWorldDomainService.metadata.cs”&lt;/STRONG&gt; no projeto do lado servidor automaticamente.&lt;/P&gt;
&lt;P&gt;Como passo seguinte, vamos adicionar uma referência para "&lt;STRONG&gt;System.Windows.Controls.Data.dll&lt;/STRONG&gt;" no projeto &lt;STRONG&gt;“HelloWorldRIAServices”&lt;/STRONG&gt;, lado do cliente, para a adição do objeto Data Grid Control, que fará a apresentação dos dados exportados pelo .NET RIA Services.&lt;/P&gt;
&lt;P&gt;Uma vez feita a referência, podemos aproveitar a página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;” do projeto cliente para adicionar o controle, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_28.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_28.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 456px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 84px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_13.png" width=509 height=117 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_13.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Na sequência, adicionamos o DataGrid Control ao corpo da página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;”, abaixo:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_30.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_30.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 452px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 136px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_14.png" width=498 height=170 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_14.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Ainda na página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;”, vamos adicionar uma chamada para o evento &lt;STRONG&gt;Page_Loaded&lt;/STRONG&gt;, como vemos a seguir:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_32.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_32.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; WIDTH: 456px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 64px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_15.png" width=497 height=79 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_15.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Antes de adicionar o evento &lt;STRONG&gt;Page_Loaded&lt;/STRONG&gt; no arquivo “&lt;STRONG&gt;HomePage.xaml.cs&lt;/STRONG&gt;”, devemos fazer a referência ao projeto Web, através da cláusula &lt;EM&gt;using&lt;/EM&gt;, a seguir:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_36.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_36.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_17.png" width=342 height=26 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_17.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Agora, podemos adicionar nosso evento &lt;STRONG&gt;Page_Loaded&lt;/STRONG&gt; no arquivo “&lt;STRONG&gt;HomePage.xaml.cs”&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;Note que neste evento fazemos o uso do &lt;STRONG&gt;DomainService&lt;/STRONG&gt; exportado pelo .NET RIA Services, o que vai permitir que nosso projeto cliente possa manipular as entidades escolhidas para exportação na aplicação. &lt;/P&gt;
&lt;P&gt;Veja como ficou o arquivo “&lt;STRONG&gt;HomePage.xaml.cs”&lt;/STRONG&gt; depois dessas mudanças:&lt;/P&gt;
&lt;DIV style="BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; MAX-HEIGHT: 200px; FONT-SIZE: 8pt; OVERFLOW: auto; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px" id=codeSnippetWrapper&gt;
&lt;DIV style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id=codeSnippet&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum1&gt;   1:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum2&gt;   2:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Collections.Generic;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum3&gt;   3:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Linq;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum4&gt;   4:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Net;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum5&gt;   5:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum6&gt;   6:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Controls;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum7&gt;   7:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Documents;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum8&gt;   8:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Input;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum9&gt;   9:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Media;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum10&gt;  10:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Media.Animation;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum11&gt;  11:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Shapes;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum12&gt;  12:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; System.Windows.Navigation;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum13&gt;  13:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;using&lt;/SPAN&gt; HelloWorldRIAServices.Web; &lt;SPAN style="COLOR: #008000"&gt;//Adicionado para referênciar o projeto server!&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum14&gt;  14:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum15&gt;  15:&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;namespace&lt;/SPAN&gt; HelloWorldRIAServices&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum16&gt;  16:&lt;/SPAN&gt; {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum17&gt;  17:&lt;/SPAN&gt;     &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;partial&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; HomePage : Page&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum18&gt;  18:&lt;/SPAN&gt;     {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum19&gt;  19:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; HomePage()&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum20&gt;  20:&lt;/SPAN&gt;         {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum21&gt;  21:&lt;/SPAN&gt;             InitializeComponent();&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum22&gt;  22:&lt;/SPAN&gt;         }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum23&gt;  23:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum24&gt;  24:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #008000"&gt;// Executes when the user navigates to this page.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum25&gt;  25:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; OnNavigatedTo(NavigationEventArgs e){}&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum26&gt;  26:&lt;/SPAN&gt;&amp;nbsp; &lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum27&gt;  27:&lt;/SPAN&gt;         &lt;SPAN style="COLOR: #0000ff"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Page_Loaded(&lt;SPAN style="COLOR: #0000ff"&gt;object&lt;/SPAN&gt; sender, RoutedEventArgs e)&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum28&gt;  28:&lt;/SPAN&gt;         {&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum29&gt;  29:&lt;/SPAN&gt;             HelloWorldDomainContext context = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; HelloWorldDomainContext();&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum30&gt;  30:&lt;/SPAN&gt;             &lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;.dataGrid.ItemsSource = context.Accounts;&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum31&gt;  31:&lt;/SPAN&gt;             context.LoadAccounts();&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum32&gt;  32:&lt;/SPAN&gt;         }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum33&gt;  33:&lt;/SPAN&gt;     }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;PRE style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: 'Courier New', courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;SPAN style="COLOR: #606060" id=lnum34&gt;  34:&lt;/SPAN&gt; }&lt;/PRE&gt;&lt;!--CRLF--&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Pronto! :)&lt;/P&gt;
&lt;P&gt;Compilando a solução, você irá exportar as entidades recebidas através do .NET RIA Services via o &lt;STRONG&gt;DataGrid Control&lt;/STRONG&gt;, que adicionamos na página “&lt;STRONG&gt;HomePage.xaml&lt;/STRONG&gt;” do projeto &lt;STRONG&gt;“HelloWorldRIAServices”&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_38.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_38.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_18.png" width=526 height=215 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/HelloWorldparao.NETRIAServices_105CF/image_thumb_18.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Lembrando, o produto ainda está em CTP e deve ganhar no futuro novas funcionalidades, assim como uma maior automação em alguns pontos do processo de exportação e referências de assemblies. Mas já é bastante promissor a possibilidade de construir aplicações RIA de uma forma tão rápida, suportando os novos recursos do Silverlight 3.0. &lt;/P&gt;
&lt;P&gt;Em posts futuros, vamos ver novos exemplos sobre o .NET RIA Services e seus recursos. Não deixe de fazer seus testes também!&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9802328" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category></item><item><title>.NET RIA Services CTP Roadmap</title><link>http://blogs.msdn.com/wcamb/archive/2009/06/22/net-ria-services-roadmap.aspx</link><pubDate>Tue, 23 Jun 2009 03:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9798552</guid><dc:creator>wcamb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9798552.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9798552</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9798552</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Um produto que estou acompanhando de perto é o .NET RIA Services. Já falamos um pouco dele &lt;A href="http://blogs.msdn.com/wcamb/archive/2009/05/20/microsoft-net-ria-services-may-2009-preview.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/2009/05/20/microsoft-net-ria-services-may-2009-preview.aspx"&gt;aqui&lt;/A&gt; no blog.&lt;/P&gt;
&lt;P&gt;Em rápidas palavras, o . NET RIA Services é um framework que oferece um padrão para a construção de lógica de aplicação, funcionando como um middle-tier, controlando o acesso aos dados para consultas, alterações e operações diversas.&lt;/P&gt;
&lt;P&gt;Ele promete resolver alguns dos desafios que encontramos na construção de aplicações RIA, quando tratamos os dados entre a parte cliente e a parte servidor. Aspectos como ordenação, paginação, filtro, validação, autorização, batching e sincronização off-line são comuns nesse tipo de aplicação, que envolve uma relação de trust entre a parte cliente e o mid-tier server em muitos casos.&lt;/P&gt;
&lt;P&gt;Nesse contexto, o .NET RIA Services facilita a manipulação dos dados da aplicação numa abordagem fim-a-fim, criando uma camada intermediária entre apresentação e o acesso a dados, fazendo o mapeamento da lógica de negócio para sua aplicação.&lt;/P&gt;
&lt;P&gt;Recentemente, foi publicado o roadmap previsto para o .NET RIA Services, no link abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;.NET RIA Services V1 CTPs: current thinking &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://silverlight.net/forums/t/101160.aspx" rel=nofollow target=_blank mce_href="http://silverlight.net/forums/t/101160.aspx"&gt;http://silverlight.net/forums/t/101160.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Vale conferir!!! Nos próximos, posts vamos ver alguns exemplos do .NET RIA Services em ação. Para quem ficou interessado, veja alguns artigos bem interessantes, que estou usando para estudo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;.NET RIA Services: From Vision to Architecture &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://www.nikhilk.net/NET-RIA-Services-Vision-Architecture.aspx" rel=nofollow target=_blank mce_href="http://www.nikhilk.net/NET-RIA-Services-Vision-Architecture.aspx"&gt;http://www.nikhilk.net/NET-RIA-Services-Vision-Architecture.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;View Model Pattern with .NET RIA Services&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern.aspx" rel=nofollow target=_blank mce_href="http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern.aspx"&gt;http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;ViewModel + .NET RIA Services Part 2: Testability, Server Mocking and Dependencies&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern-2.aspx" rel=nofollow target=_blank mce_href="http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern-2.aspx"&gt;http://www.nikhilk.net/NET-RIA-Services-ViewModel-Pattern-2.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;O pacote Preview de Maio 2009 está aqui:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft .NET RIA Services May 2009 Preview&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A title=http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;E você vai precisar do SL3 também instalado, abaixo:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 SDK Beta 1&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 Tools Beta 1 for Visual Studio 2008 SP1&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en" rel=nofollow target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9798552" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category></item><item><title>Microsoft .NET RIA Services May 2009 Preview</title><link>http://blogs.msdn.com/wcamb/archive/2009/05/20/microsoft-net-ria-services-may-2009-preview.aspx</link><pubDate>Thu, 21 May 2009 03:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9633100</guid><dc:creator>wcamb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/wcamb/comments/9633100.aspx</comments><wfw:commentRss>http://blogs.msdn.com/wcamb/commentrss.aspx?PostID=9633100</wfw:commentRss><wfw:comment>http://blogs.msdn.com/wcamb/rsscomments.aspx?PostID=9633100</wfw:comment><description>&lt;P&gt;Olá pessoal, tudo certo?&lt;/P&gt;
&lt;P&gt;Um assunto emergente e muito importante é o &lt;STRONG&gt;.NET RIA Services&lt;/STRONG&gt;, anunciado durante o último &lt;A href="http://blogs.msdn.com/wcamb/archive/tags/MIX09/default.aspx" target=_blank mce_href="http://blogs.msdn.com/wcamb/archive/tags/MIX09/default.aspx"&gt;MIX09&lt;/A&gt;. Depois do primeiro preview em Março, tivemos uma nova atualização do pacote agora em Maio de 2009.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Onde se aplica?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;De modo geral, o desenvolvimento de uma arquitetura em N camadas pode ser bem difícil e envolve uma série de desafios e dificuldades para o correto mapeamento de seus componentes. Por exemplo, como garantir de forma padronizada questões como paginação, transferência de dados entre as camadas de negócio e apresentação, implementação de recursos básicos do &lt;EM&gt;CRUD – Create, Read, Update&lt;/EM&gt; e &lt;EM&gt;Delete&lt;/EM&gt;, etc.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;O que o .NET RIA Services oferece?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;O &lt;EM&gt;.&lt;/EM&gt;NET RIA Services tem por objetivo aumentar a produtividade de soluções N camadas com arquiteturas &lt;EM&gt;RIA – Rich Internet Application&lt;/EM&gt;, resolvendo alguns aspectos comuns de integração entre camadas. Pense na facilidade de desenvolvimento que temos hoje para aplicações ASP.NET e o &lt;EM&gt;RAD – Rapid Application Development&lt;/EM&gt;. O .NET RIA Services pretende oferecer essa mesma produtividade para o contexto de aplicações RIA com N camadas.&lt;/P&gt;
&lt;P&gt;Assim, um desenho que aparece na documentação do .NET RIA Services ilustra bem essa integração entre camadas de aplicação e lógica de negócio, veja:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=",NET RIA SERVICES" border=0 alt=",NET RIA SERVICES" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb.png" width=513 height=276 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Como preparar o ambiente para o .NET RIA Services?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Vamos preparar nosso ambiente de desenvolvimento para testes do .NET RIA Services. O pacote ainda está em CTP e a última atualização foi em maio:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft .NET RIA Services May 2009 Preview&lt;/STRONG&gt; &lt;BR&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce#filelist" mce_href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce#filelist"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce#filelist&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Para a instalação do pacote RIA Services, você vai precisar do &lt;STRONG&gt;Silverlight 3 Beta 1&lt;/STRONG&gt; e os componentes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;Microsoft Silverlight 3 Beta SDK&lt;/FONT&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000080&gt;Microsoft Silverlight 3 Tools&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Comece instalando o SDK Beta 1, a seguir:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 SDK Beta 1 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=D09B6ECF-9A45-4D99-B752-2A330A937BC4&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Após instalar o SL3 SDK Beta 1, reinicie sua máquina para seguir instalando o SL3 Tools Beta 1, a seguir:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Microsoft® Silverlight™ 3 Tools Beta 1 for Visual Studio 2008 SP1 &lt;BR&gt;&lt;/STRONG&gt;Ref.: &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=11DC7151-DBD6-4E39-878F-5081863CBB5D&amp;amp;displaylang=en&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Finalmente, instale o .NET RIA Services, através do pacote&lt;STRONG&gt; “RiaServices.msi”&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;O que o pacote .NET RIA Services ofecere?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Com a instalação do pacote CTP de Maio, seu Visual Studio 2008 irá disponibilizar um novo template de aplicação na pasta Siverlight, como vemos a seguir:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Template do ,NET RIA SERVICES" border=0 alt="Template do ,NET RIA SERVICES" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_2.png" width=484 height=373 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Escolhendo esse template, geramos uma solução contendo dois projetos principais: um projeto de aplicação Web (&lt;STRONG&gt;BusinessApplication1.Web&lt;/STRONG&gt;), para interface com o usuário e um projeto de lógica de negócio (&lt;STRONG&gt;BusinessApplication1&lt;/STRONG&gt;). Veja a seguir:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_10.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Projeto ,NET RIA SERVICES" border=0 alt="Projeto ,NET RIA SERVICES" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_4.png" width=243 height=449 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;A solução oferecida pelo template já implementa um exemplo de aplicação Web pronta para ser estendida com nossos serviços e funcionalidades. Executando o projeto como está, a aplicação se parece como no desenho abaixo:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Interface ,NET RIA SERVICES" border=0 alt="Interface ,NET RIA SERVICES" src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_3.png" width=327 height=267 mce_src="http://blogs.msdn.com/blogfiles/wcamb/WindowsLiveWriter/Microsoft.NETRIAServicesMay2009Preview_EA24/image_thumb_3.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Veja que a interface irá aproveitar os recursos do &lt;STRONG&gt;Silverlight 3 Beta 1&lt;/STRONG&gt;, por isso aguarde algumas boas surpresas em recursos e funcionalidades.&lt;/P&gt;
&lt;P&gt;Um ponto bem interessante que foi dica do &lt;A href="http://blogs.msdn.com/otavio/archive/2009/04/05/ria-services-um-elo-perdido.aspx" rel=nofollow target=_blank mce_href="http://blogs.msdn.com/otavio/archive/2009/04/05/ria-services-um-elo-perdido.aspx"&gt;Otávio&lt;/A&gt; é a documentação de Maio do CTP. No final do documento “&lt;STRONG&gt;RIAServicesOverviewforMay2009.docx&lt;/STRONG&gt;”, disponível no link principal do RIA Services, temos um tutorial que estende as funcionalidades do template acima, permitindo um bom estudo sobre os benefícios e recursos oferecidos pelo pacote RIA Services.&lt;/P&gt;
&lt;P&gt;Assim, esse post foi só para iniciá-lo no assunto. Em breve, veremos um pouco mais sobre o &lt;STRONG&gt;RIA Services&lt;/STRONG&gt; e como poderemos utilizá-lo no futuro em nossas soluções. &lt;/P&gt;
&lt;P&gt;Por enquanto é só! Até o próximo post :)&lt;/P&gt;
&lt;P&gt;Waldemir.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9633100" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/wcamb/archive/tags/Arquitetura+de+Solu_26002300_231_3B0026002300_245_3B00_es/default.aspx">Arquitetura de Solu&amp;#231;&amp;#245;es</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx">.NET RIA Services</category></item></channel></rss>