<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Channel 9</title>
    <atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Niners/Caverna/Posts/RSS"></atom:link>
    <itunes:summary></itunes:summary>
    <itunes:author>Microsoft</itunes:author>
    <itunes:subtitle></itunes:subtitle>
    <image>
      <url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
      <title>Channel 9</title>
      <link>http://channel9.msdn.com/Niners/Caverna/Posts</link>
    </image>
    <itunes:image href=""></itunes:image>
    <itunes:category text="Technology"></itunes:category>
    <description>Channel 9 keeps you up to date with the latest news and behind the scenes info from Microsoft that developers love to keep up with. From LINQ to SilverLight – Watch videos and hear about all the cool technologies coming and the people behind them.</description>
    <link>http://channel9.msdn.com/Niners/Caverna/Posts</link>
    <language>en</language>
    <pubDate>Sat, 18 May 2013 12:02:07 GMT</pubDate>
    <lastBuildDate>Sat, 18 May 2013 12:02:07 GMT</lastBuildDate>
    <generator>Rev9</generator>
    <c9:totalResults>73</c9:totalResults>
    <c9:pageCount>3</c9:pageCount>
    <c9:pageSize>25</c9:pageSize>
  <item>
      <title>AppDay Webcast de d&#250;vidas</title>
      <description><![CDATA[<p>Olá meus amigos!</p><p>Segue o vídeo do Webcast de que fizemos na última sexta-feira (10/05/2013).</p><p>Abaixo seguem os links divulgados durante o Webcast.</p><p><a href="http://www.microsoft.com/brasil/apps/appday.html">http://www.microsoft.com/brasil/apps/appday.html</a></p><p><a href="http://dev.windows.com/">http://dev.windows.com/</a></p><p><a href="http://bit.ly/Apps4Win">http://bit.ly/Apps4Win</a></p><p><a href="http://aka.ms/visouza">http://aka.ms/visouza</a></p><p><a href="http://bit.ly/FernandoMartin">http://bit.ly/FernandoMartin</a></p><p><a href="http://appuploader.azurewebsites.net/">http://appuploader.azurewebsites.net/</a></p><p><a href="http://w8i.azurewebsites.net/">http://w8i.azurewebsites.net/</a></p><p><a href="http://bit.ly/VitorciaAppDay">http://bit.ly/VitorciaAppDay</a></p><p>Twitters: <a title="Twitter Vinícius" href="http://www.twitter.com/vbs_br">@vbs_br</a>, <a title="Twitter Vitor Ciaramella" href="http://www.twitter.com/vitorcia">@vitorcia</a>, <a title="Twitter Caverna" href="http://www.twitter.com/fernandomartin">@fernandomartin</a></p><p>Abraço,</p><p>Vinícius.</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:8f9de63917c8415595efa1bf000bf730">]]></description>
      <comments>http://channel9.msdn.com/posts/AppDay-Webcast-de-dvidas</comments>
      <itunes:summary>Ol&#225; meus amigos! Segue o v&#237;deo do Webcast de que fizemos na &#250;ltima sexta-feira (10/05/2013). Abaixo seguem os links divulgados durante o Webcast. http://www.microsoft.com/brasil/apps/appday.html http://dev.windows.com/ http://bit.ly/Apps4Win http://aka.ms/visouza http://bit.ly/FernandoMartin http://appuploader.azurewebsites.net/ http://w8i.azurewebsites.net/ http://bit.ly/VitorciaAppDay Twitters: @vbs_br, @vitorcia, @fernandomartin Abra&#231;o, Vin&#237;cius. </itunes:summary>
      <itunes:duration>6255</itunes:duration>
      <link>http://channel9.msdn.com/posts/AppDay-Webcast-de-dvidas</link>
      <pubDate>Wed, 15 May 2013 10:13:55 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/AppDay-Webcast-de-dvidas</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida_100.jpg" height="60" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida_220.jpg" height="132" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida_512.jpg" height="307" width="512"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida_960.jpg" height="576" width="960"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida.mp3" expression="full" duration="6255" fileSize="100087589" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida.mp4" expression="full" duration="6255" fileSize="360109234" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida.webm" expression="full" duration="6255" fileSize="159810466" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida.wma" expression="full" duration="6255" fileSize="50586383" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida.wmv" expression="full" duration="6255" fileSize="208001761" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida_high.mp4" expression="full" duration="6255" fileSize="1068495818" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida_mid.mp4" expression="full" duration="6255" fileSize="561162777" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida_Source.wmv" expression="full" duration="6255" fileSize="196958210" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/209b/50ab200c-c9c1-4d69-933f-4c387820209b/AppDayWebcastDuvida.wmv" length="208001761" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Vin&#237;cius Souza, Fernando Martin</dc:creator>
      <itunes:author>Vin&#237;cius Souza, Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/AppDay-Webcast-de-dvidas/rss</wfw:commentRss>
      <category>Windows 8</category>
    </item>
  <item>
      <title>Descobrindo o Windows 8 parte 0</title>
      <description><![CDATA[<p>Descobrindo o Windows 8 parte 0</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:9c0bfe558d6f4f5cb1efa082012276c8">]]></description>
      <comments>http://channel9.msdn.com/posts/Descobrindo-o-Windows-8-parte-0</comments>
      <itunes:summary>Descobrindo o Windows 8 parte 0 </itunes:summary>
      <link>http://channel9.msdn.com/posts/Descobrindo-o-Windows-8-parte-0</link>
      <pubDate>Mon, 02 Jul 2012 18:00:48 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Descobrindo-o-Windows-8-parte-0</guid>      
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>1</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Descobrindo-o-Windows-8-parte-0/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Windows 8</category>
    </item>
  <item>
      <title>Windows 8 e voc&#234; por dentro de tudo</title>
      <description><![CDATA[<p>O Windows 8 Consumer Preview (que como o próprio nome diz, ainda não é a versão final do sistema operacional) já <strong>está disponível e é gratuito</strong>.</p><p>Deseja fazer o download? Já para<a href="http://bit.ly/W8ConsumerPreview" target="_blank"> <span>http://bit.ly/W8ConsumerPreview</span></a></p><p>Deseja obter material de treinamento para já se preparar para o futuro? <a href="http://bit.ly/W8CampMaterial" target="_blank"><span lang="PT-BR">http://bit.ly/W8CampMaterial</span></a>&nbsp;</p><p>Estes dois links podem te ajudar bastante, mas existe uma outra questão. O Windows 8 foi reinventado e você verá muitas coisas novas, desde a plataforma de desenvolvimento&nbsp;até a nova&nbsp;interface.</p><p>Falando em interface, é preciso entender a proposta do <strong>METRO. </strong>Esta<strong>&nbsp;</strong>que não&nbsp;é &quot;simplesmente uma nova interface&quot;, mas sim o conceito totalmente novo que permitirá que sua experiencia com o Windows seja muito mais rica, fluida e extremamente simples.</p><p>Existe um guia que pode te ajudar bastante neste primeiro momento, já para <a href="http://bit.ly/GuiaMetroStyleApp" target="_blank"><span lang="PT-BR">http://bit.ly/GuiaMetroStyleApp</span></a>&nbsp;!</p><p>Se você já baixou o Windows 8, o novo SDK, material de treinamento, guia do Metro, e deseja continuar seus estudos para sair na frente quando o lançamento do Windows 8 (produto final) ocorrer, sugiro fortemente que acesse o blog do Vitor Ciaramella <a href="http://blogs.msdn.com/b/vitorcia/">http://blogs.msdn.com/b/vitorcia/</a>&nbsp;e siga-o no twitter <a href="https://twitter.com/#!/vitorciaramella" target="_blank"><strong>@vitorciaramella</strong></a></p><p>Olha só o Vitão<br><a href="http://files.channel9.msdn.com/thumbnail/cf97f87d-a634-4d2c-9f71-c23ee1e19887.jpg" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/cf97f87d-a634-4d2c-9f71-c23ee1e19887.jpg" alt="" width="133" height="139"></a></p><p>Para terminar tenho um convite. Se você quer aprender <strong>MESMO</strong> e já&nbsp;sentir na pele o que é desenvolver para o novíssimo W8, venha participar do nosso <strong>Hackathon.</strong></p><p>Pense em um ambiente bom para desenvolvedores. Comida, bebida (muitos energéticos também) , profissionais com experiência na nova plataforma, e pra ficar ainda melhor brindes e prêmios bem bacanas.</p><p>No próximo sábado não só o Vitor Ciaramella estará no Hackathon. Muitos profissionais da Microsoft estarão presentes também, incluindo minha pessoa.</p><p>&nbsp;<strong>Interessou? Então clique <a href="https://win8.msregistration.com/default.aspx?ID=0c5004c7-8ac3-4956-9b31-3ee1cc0ae453" target="_blank">aqui </a>e inscreva-se.</strong></p><p>Te vejo lá!</p><p>Abraços,<br>Caverna<strong></strong></p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:fe3501dc87fc4dc69a78a05900e1ee52">]]></description>
      <comments>http://channel9.msdn.com/posts/Windows-8-e-voc-por-dentro-de-tudo</comments>
      <itunes:summary>O Windows 8 Consumer Preview (que como o pr&#243;prio nome diz, ainda n&#227;o &#233; a vers&#227;o final do sistema operacional) j&#225; est&#225; dispon&#237;vel e &#233; gratuito. Deseja fazer o download? J&#225; para http://bit.ly/W8ConsumerPreview Deseja obter material de treinamento para j&#225; se preparar para o futuro? http://bit.ly/W8CampMaterial&amp;nbsp; Estes dois links podem te ajudar bastante, mas existe uma outra quest&#227;o. O Windows 8 foi reinventado e voc&#234; ver&#225; muitas coisas novas, desde a plataforma de desenvolvimento&amp;nbsp;at&#233; a nova&amp;nbsp;interface. Falando em interface, &#233; preciso entender a proposta do METRO. Esta&amp;nbsp;que n&#227;o&amp;nbsp;&#233; &amp;quot;simplesmente uma nova interface&amp;quot;, mas sim o conceito totalmente novo que permitir&#225; que sua experiencia com o Windows seja muito mais rica, fluida e extremamente simples. Existe um guia que pode te ajudar bastante neste primeiro momento, j&#225; para http://bit.ly/GuiaMetroStyleApp&amp;nbsp;! Se voc&#234; j&#225; baixou o Windows 8, o novo SDK, material de treinamento, guia do Metro, e deseja continuar seus estudos para sair na frente quando o lan&#231;amento do Windows 8 (produto final) ocorrer, sugiro fortemente que acesse o blog do Vitor Ciaramella http://blogs.msdn.com/b/vitorcia/&amp;nbsp;e siga-o no twitter @vitorciaramella Olha s&#243; o Vit&#227;o Para terminar tenho um convite. Se voc&#234; quer aprender MESMO e j&#225;&amp;nbsp;sentir na pele o que &#233; desenvolver para o nov&#237;ssimo W8, venha participar do nosso Hackathon. Pense em um ambiente bom para desenvolvedores. Comida, bebida (muitos energ&#233;ticos tamb&#233;m) , profissionais com experi&#234;ncia na nova plataforma, e pra ficar ainda melhor brindes e pr&#234;mios bem bacanas. No pr&#243;ximo s&#225;bado n&#227;o s&#243; o Vitor Ciaramella estar&#225; no Hackathon. Muitos profissionais da Microsoft estar&#227;o presentes tamb&#233;m, incluindo minha pessoa. &amp;nbsp;Interessou? Ent&#227;o clique aqui e inscreva-se. Te vejo l&#225;! Abra&#231;os,Caverna &amp;nbsp; </itunes:summary>
      <link>http://channel9.msdn.com/posts/Windows-8-e-voc-por-dentro-de-tudo</link>
      <pubDate>Tue, 22 May 2012 13:48:42 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Windows-8-e-voc-por-dentro-de-tudo</guid>
      <media:thumbnail url="http://files.channel9.msdn.com/thumbnail/7964353b-f7c1-45ea-84a8-b7755b3af3ef.png" height="100" width="100"></media:thumbnail>      
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>1</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Windows-8-e-voc-por-dentro-de-tudo/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
    </item>
  <item>
      <title>O primeiro jogo da Gigi</title>
      <description><![CDATA[<p>Minha pequena no sábado passado&nbsp;disse que queria fazer um jogo.</p><p>Ela já sabe utilizar Word, Excel, PowerPoint e o Photoshop, mas fazer um game exige muito mais que isso.</p><p>Perguntei como seria este game. Ela me explicou que seria um game de &quot;vestir roupas&quot;. Colocar camiseta, sapatos, acessórios, etc..</p><p>Pedi que ela colocasse a ideia em um papel pois é preciso ter bem claro o resultado que se espera antes mesmo de começar qualquer coisa. Detalhar como seria o game, o que teria na tela, etc.. tudo em uma linguagem muito simples.</p><p>Serei honesto, neste momento estava estudando Maya (modelagem é um hobby que tenho) e não dei muita atenção para a ideia da Gigi pois sabia que ainda é cedo demais para algumas coisas.</p><p>Ele voltou depois de 10 minutos com isso:</p><p><a href="http://files.channel9.msdn.com/thumbnail/b37ea00c-7439-4c8c-9155-a3c81838452b.jpg" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/b37ea00c-7439-4c8c-9155-a3c81838452b.jpg" alt="" width="394" height="288"></a></p><p>A ideia estava no papel. Urso no meio e roupas ao redor. Me desculpem os erros de portugues e ingles, mas ela só tem 7 anos!</p><p>O rascunho estava lá e não pensei duas vezes. Era hora de fechar o Maya e ir para o Expression Blend e para o Photoshop. Se a Gigi queria desafio, então tinha encontrado.</p><p>Photoshop ela já conhecia. Conceitos de criar pasta, salvar, salvar como.. essas coisas ela já tem.</p><p><a href="http://files.channel9.msdn.com/thumbnail/48d9de7b-2d72-428b-adab-4ee6ce7b6a3d.jpg" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/48d9de7b-2d72-428b-adab-4ee6ce7b6a3d.jpg" alt="" width="393" height="298"></a></p><p>Ensinei que não era possível colocar um jpg ou um png (ela ja sabe o que são) dentro de um telefone por exemplo, sem o intermédio de uma outra ferramenta (lembrando que a preocupação era&nbsp;manter a simplicidade ao extremo)</p><p>Se ela quisesse colocar no Windows Phone seu joguinho, ela teria que criar um &quot;xap&quot;.</p><p>A parte mais dificil seria colocar os comportamentos de arrastar as peças de roupas e acessórios para vestir o urso mas lembrei&nbsp;que havia um &quot;behavior&quot;&nbsp;que bastava arrastar para a imagem, para que esta pudesse ter justamente este comportamento&nbsp;e então&nbsp;alterar a posição dos elementos da tela sem complicação.</p><p>Ela ficou lá batendo a cabeça alguns minutos no &quot;Blendis&quot; (como ela chamou), Tempo que eu pegasse um café e assistisse um pouco de Bob Espoja (já que haviamos trocado de papeis mesmo..)</p><p>&nbsp;</p><p><a href="http://files.channel9.msdn.com/thumbnail/c931ce10-4ad7-4836-bc18-683ded6d0886.jpg" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/c931ce10-4ad7-4836-bc18-683ded6d0886.jpg" alt="" width="391" height="282"></a></p><p>&nbsp;</p><p>Depois de alguns minutos me chamou, e lá estava</p><p><a href="http://files.channel9.msdn.com/thumbnail/0ec77361-9987-441e-b503-dd6c96d36e87.jpg" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/0ec77361-9987-441e-b503-dd6c96d36e87.jpg" alt="" width="394" height="297"></a></p><p>É meus amigos.. essa geração vai longe..</p><p>&nbsp;</p><p>Forte abraço</p><p>caverna</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:39427afcd7a34773861da0510165593e">]]></description>
      <comments>http://channel9.msdn.com/posts/O-primeiro-jogo-da-Gigi</comments>
      <itunes:summary>Minha pequena no s&#225;bado passado&amp;nbsp;disse que queria fazer um jogo. Ela j&#225; sabe utilizar Word, Excel, PowerPoint e o Photoshop, mas fazer um game exige muito mais que isso. Perguntei como seria este game. Ela me explicou que seria um game de &amp;quot;vestir roupas&amp;quot;. Colocar camiseta, sapatos, acess&#243;rios, etc.. Pedi que ela colocasse a ideia em um papel pois &#233; preciso ter bem claro o resultado que se espera antes mesmo de come&#231;ar qualquer coisa. Detalhar como seria o game, o que teria na tela, etc.. tudo em uma linguagem muito simples. Serei honesto, neste momento estava estudando Maya (modelagem &#233; um hobby que tenho) e n&#227;o dei muita aten&#231;&#227;o para a ideia da Gigi pois sabia que ainda &#233; cedo demais para algumas coisas. Ele voltou depois de 10 minutos com isso:  A ideia estava no papel. Urso no meio e roupas ao redor. Me desculpem os erros de portugues e ingles, mas ela s&#243; tem 7 anos! O rascunho estava l&#225; e n&#227;o pensei duas vezes. Era hora de fechar o Maya e ir para o Expression Blend e para o Photoshop. Se a Gigi queria desafio, ent&#227;o tinha encontrado. Photoshop ela j&#225; conhecia. Conceitos de criar pasta, salvar, salvar como.. essas coisas ela j&#225; tem.  Ensinei que n&#227;o era poss&#237;vel colocar um jpg ou um png (ela ja sabe o que s&#227;o) dentro de um telefone por exemplo, sem o interm&#233;dio de uma outra ferramenta (lembrando que a preocupa&#231;&#227;o era&amp;nbsp;manter a simplicidade ao extremo) Se ela quisesse colocar no Windows Phone seu joguinho, ela teria que criar um &amp;quot;xap&amp;quot;. A parte mais dificil seria colocar os comportamentos de arrastar as pe&#231;as de roupas e acess&#243;rios para vestir o urso mas lembrei&amp;nbsp;que havia um &amp;quot;behavior&amp;quot;&amp;nbsp;que bastava arrastar para a imagem, para que esta pudesse ter justamente este comportamento&amp;nbsp;e ent&#227;o&amp;nbsp;alterar a posi&#231;&#227;o dos elementos da tela sem complica&#231;&#227;o. Ela ficou l&#225; batendo a cabe&#231;a alguns minutos no &amp;quot;Blendis&amp;quot; (como ela chamou), Tempo que eu pegasse um caf&#233; e assistisse um pouco de Bob Espoja (j&#225; que haviamos tr</itunes:summary>
      <link>http://channel9.msdn.com/posts/O-primeiro-jogo-da-Gigi</link>
      <pubDate>Mon, 14 May 2012 21:45:00 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/O-primeiro-jogo-da-Gigi</guid>
      <media:thumbnail url="http://files.channel9.msdn.com/thumbnail/3c994d39-a311-4cdd-bbad-ad47bb702788.png" height="100" width="100"></media:thumbnail>      
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>7</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/O-primeiro-jogo-da-Gigi/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Windows Phone</category>
    </item>
  <item>
      <title>Estrutura do banco de dados e do ORM - Parte 3</title>
      <description><![CDATA[<p>Estrutura do banco de dados e do ORM - Parte 3</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:8e9cbabd1bbc4f5d8f36a03f014743fa">]]></description>
      <comments>http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-3</comments>
      <itunes:summary>Estrutura do banco de dados e do ORM - Parte 3 </itunes:summary>
      <itunes:duration>334</itunes:duration>
      <link>http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-3</link>
      <pubDate>Thu, 26 Apr 2012 21:30:43 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-3</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3_100.jpg" height="56" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3_220.jpg" height="123" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3_512.jpg" height="288" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3.mp3" expression="full" duration="334" fileSize="5359257" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3.mp4" expression="full" duration="334" fileSize="29189058" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3.webm" expression="full" duration="334" fileSize="4905" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3.wma" expression="full" duration="334" fileSize="2720647" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3.wmv" expression="full" duration="334" fileSize="11559490" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3_high.mp4" expression="full" duration="334" fileSize="69660438" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3_mid.mp4" expression="full" duration="334" fileSize="48467107" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3_Source.wmv" expression="full" duration="334" fileSize="8908408" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3.ism/manifest" expression="full" duration="334" fileSize="6120" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/597c/01740acb-1136-4759-9b0c-71817308597c/efm2v3.wmv" length="11559490" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>4</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-3/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Conceitos do EF, instala&#231;&#227;o, tipos de relacionamentos e modelagem - Parte 3</title>
      <description><![CDATA[<p>Conceitos do EF, instalação, tipos de relacionamentos e modelagem - Parte 3</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:f95d42c669054bc493a2a03f013d443a">]]></description>
      <comments>http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-3</comments>
      <itunes:summary>Conceitos do EF, instala&#231;&#227;o, tipos de relacionamentos e modelagem - Parte 3 </itunes:summary>
      <itunes:duration>337</itunes:duration>
      <link>http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-3</link>
      <pubDate>Thu, 26 Apr 2012 21:28:46 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-3</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3_100.jpg" height="56" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3_220.jpg" height="123" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3_512.jpg" height="288" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3.mp3" expression="full" duration="337" fileSize="5407802" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3.mp4" expression="full" duration="337" fileSize="28423066" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3.webm" expression="full" duration="337" fileSize="4936" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3.wma" expression="full" duration="337" fileSize="2747683" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3.wmv" expression="full" duration="337" fileSize="10791508" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3_high.mp4" expression="full" duration="337" fileSize="74373105" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3_mid.mp4" expression="full" duration="337" fileSize="49725457" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3_Source.wmv" expression="full" duration="337" fileSize="7933730" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3.ism/manifest" expression="full" duration="337" fileSize="6124" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/1267/d3ee5558-311a-44d1-a802-5d3458e21267/efm1v3.wmv" length="10791508" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-3/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Incluir, atualizar e excluir dados no EF - Parte 4</title>
      <description><![CDATA[<p>Incluir, atualizar e excluir dados no EF - Parte 4</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:a877747a2e98418dba73a03f01513597">]]></description>
      <comments>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-4</comments>
      <itunes:summary>Incluir, atualizar e excluir dados no EF - Parte 4 </itunes:summary>
      <itunes:duration>479</itunes:duration>
      <link>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-4</link>
      <pubDate>Thu, 26 Apr 2012 21:27:02 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-4</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4_100.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4_220.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4_512.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4.mp3" expression="full" duration="479" fileSize="7673923" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4.mp4" expression="full" duration="479" fileSize="39411242" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4.webm" expression="full" duration="479" fileSize="4909" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4.wma" expression="full" duration="479" fileSize="3889203" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4.wmv" expression="full" duration="479" fileSize="19304360" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4_high.mp4" expression="full" duration="479" fileSize="100294090" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4_mid.mp4" expression="full" duration="479" fileSize="68248290" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4_Source.wmv" expression="full" duration="479" fileSize="13024618" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4.ism/manifest" expression="full" duration="479" fileSize="6082" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/9301/b2faaa60-d88e-4fcd-a985-fd7a90369301/efm4v4.wmv" length="19304360" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-4/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Incluir, atualizar e excluir dados no EF - Parte 3</title>
      <description><![CDATA[<p>Incluir, atualizar e excluir dados no EF - Parte 3</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:5e6ecad392df497eb8fba03f0150370f">]]></description>
      <comments>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-3</comments>
      <itunes:summary>Incluir, atualizar e excluir dados no EF - Parte 3 </itunes:summary>
      <itunes:duration>375</itunes:duration>
      <link>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-3</link>
      <pubDate>Thu, 26 Apr 2012 21:26:42 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-3</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3_100.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3_220.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3_512.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3.mp3" expression="full" duration="375" fileSize="6016297" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3.mp4" expression="full" duration="375" fileSize="32001237" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3.webm" expression="full" duration="375" fileSize="4909" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3.wma" expression="full" duration="375" fileSize="3051087" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3.wmv" expression="full" duration="375" fileSize="15079736" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3_high.mp4" expression="full" duration="375" fileSize="80757557" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3_mid.mp4" expression="full" duration="375" fileSize="56089086" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3_Source.wmv" expression="full" duration="375" fileSize="10354038" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3.ism/manifest" expression="full" duration="375" fileSize="6082" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/8fa2/e4930d44-efdd-4acd-8c28-c7077d338fa2/efm4v3.wmv" length="15079736" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-3/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Incluir, atualizar e excluir dados no EF - Parte 2</title>
      <description><![CDATA[<p>Incluir, atualizar e excluir dados no EF - Parte 2</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:dec4b8637f844e8997fca03f014eb25d">]]></description>
      <comments>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-2</comments>
      <itunes:summary>Incluir, atualizar e excluir dados no EF - Parte 2 </itunes:summary>
      <itunes:duration>346</itunes:duration>
      <link>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-2</link>
      <pubDate>Thu, 26 Apr 2012 21:26:28 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-2</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2_100.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2_220.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2_512.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2.mp3" expression="full" duration="346" fileSize="5553198" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2.mp4" expression="full" duration="346" fileSize="26700698" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2.webm" expression="full" duration="346" fileSize="4909" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2.wma" expression="full" duration="346" fileSize="2816775" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2.wmv" expression="full" duration="346" fileSize="13127562" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2_high.mp4" expression="full" duration="346" fileSize="75591293" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2_mid.mp4" expression="full" duration="346" fileSize="47011556" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2_Source.wmv" expression="full" duration="346" fileSize="9390732" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2.ism/manifest" expression="full" duration="346" fileSize="6098" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/ef9a/892427b4-3861-486d-8325-c1a46079ef9a/efm4v2.wmv" length="13127562" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-2/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Incluir, atualizar e excluir dados no EF - Parte 1</title>
      <description><![CDATA[<p>Incluir, atualizar e excluir dados no EF - Parte 1</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:7cf5f9ccd5094c48940ea03f014ddc83">]]></description>
      <comments>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-1</comments>
      <itunes:summary>Incluir, atualizar e excluir dados no EF - Parte 1 </itunes:summary>
      <itunes:duration>425</itunes:duration>
      <link>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-1</link>
      <pubDate>Thu, 26 Apr 2012 21:26:18 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-1</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1_100.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1_220.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1_512.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1.mp3" expression="full" duration="425" fileSize="6814181" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1.mp4" expression="full" duration="425" fileSize="33506537" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1.webm" expression="full" duration="425" fileSize="4909" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1.wma" expression="full" duration="425" fileSize="3453623" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1.wmv" expression="full" duration="425" fileSize="17304036" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1_high.mp4" expression="full" duration="425" fileSize="90287286" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1_mid.mp4" expression="full" duration="425" fileSize="58202498" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1_Source.wmv" expression="full" duration="425" fileSize="11938406" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1.ism/manifest" expression="full" duration="425" fileSize="6082" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/462d/3357d3f7-5cb5-442b-ab2c-80ec3f4e462d/efm4v1.wmv" length="17304036" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>2</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Incluir-atualizar-e-excluir-dados-no-EF-Parte-1/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Ler dados do banco de dados - Parte 4</title>
      <description><![CDATA[<p>Ler dados do banco de dados - Parte 4</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:67366988a39943d790a8a03f014d1e38">]]></description>
      <comments>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-4</comments>
      <itunes:summary>Ler dados do banco de dados - Parte 4 </itunes:summary>
      <itunes:duration>336</itunes:duration>
      <link>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-4</link>
      <pubDate>Thu, 26 Apr 2012 20:55:34 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-4</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4_100.jpg" height="56" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4_220.jpg" height="123" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4_512.jpg" height="288" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4.mp3" expression="full" duration="336" fileSize="5380137" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4.mp4" expression="full" duration="336" fileSize="26934322" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4.webm" expression="full" duration="336" fileSize="4896" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4.wma" expression="full" duration="336" fileSize="2732663" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4.wmv" expression="full" duration="336" fileSize="11063502" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4_high.mp4" expression="full" duration="336" fileSize="69846967" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4_mid.mp4" expression="full" duration="336" fileSize="45159628" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4_Source.wmv" expression="full" duration="336" fileSize="8346680" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4.ism/manifest" expression="full" duration="336" fileSize="6096" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/8708/14c48c36-6051-4dd1-9ab8-06090cfa8708/efm3v4.wmv" length="11063502" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-4/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Ler dados do banco de dados - Parte 3</title>
      <description><![CDATA[<p>Ler dados do banco de dados - Parte 3</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:a019473a22c3434bb1d4a03f014c7528">]]></description>
      <comments>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-3</comments>
      <itunes:summary>Ler dados do banco de dados - Parte 3 </itunes:summary>
      <itunes:duration>242</itunes:duration>
      <link>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-3</link>
      <pubDate>Thu, 26 Apr 2012 20:55:25 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-3</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3_100.jpg" height="56" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3_220.jpg" height="123" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3_512.jpg" height="288" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3.mp3" expression="full" duration="242" fileSize="3879246" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3.mp4" expression="full" duration="242" fileSize="18720959" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3.webm" expression="full" duration="242" fileSize="4896" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3.wma" expression="full" duration="242" fileSize="1972651" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3.wmv" expression="full" duration="242" fileSize="7734938" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3_high.mp4" expression="full" duration="242" fileSize="47496037" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3_mid.mp4" expression="full" duration="242" fileSize="31497362" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3_Source.wmv" expression="full" duration="242" fileSize="5462448" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3.ism/manifest" expression="full" duration="242" fileSize="6096" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/6f03/5fe66345-1da1-4ba0-8613-78643df86f03/efm3v3.wmv" length="7734938" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-3/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Ler dados do banco de dados - Parte 2</title>
      <description><![CDATA[<p>Ler dados do banco de dados - Parte 2</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:e9dfd8cc83a34f189ebba03f014ac94f">]]></description>
      <comments>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-2</comments>
      <itunes:summary>Ler dados do banco de dados - Parte 2 </itunes:summary>
      <itunes:duration>267</itunes:duration>
      <link>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-2</link>
      <pubDate>Thu, 26 Apr 2012 20:55:05 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-2</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2_100.jpg" height="56" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2_220.jpg" height="123" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2_512.jpg" height="288" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2.mp3" expression="full" duration="267" fileSize="4288428" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2.mp4" expression="full" duration="267" fileSize="21970842" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2.webm" expression="full" duration="267" fileSize="4896" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2.wma" expression="full" duration="267" fileSize="2179927" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2.wmv" expression="full" duration="267" fileSize="7879088" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2_high.mp4" expression="full" duration="267" fileSize="54389857" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2_mid.mp4" expression="full" duration="267" fileSize="36379105" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2_Source.wmv" expression="full" duration="267" fileSize="4125456" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2.ism/manifest" expression="full" duration="267" fileSize="6098" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/f092/0f021aa4-17e6-4bf4-b8f5-582c43a5f092/efm3v2.wmv" length="7879088" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-2/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Ler dados do banco de dados - Parte 1</title>
      <description><![CDATA[<p>Ler dados do banco de dados - Parte 1</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:e8626467b829472cb5fca03f01495843">]]></description>
      <comments>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-1</comments>
      <itunes:summary>Ler dados do banco de dados - Parte 1 </itunes:summary>
      <itunes:duration>308</itunes:duration>
      <link>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-1</link>
      <pubDate>Thu, 26 Apr 2012 20:54:53 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-1</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1_100.jpg" height="56" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1_220.jpg" height="123" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1_512.jpg" height="288" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1.mp3" expression="full" duration="308" fileSize="4935847" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1.mp4" expression="full" duration="308" fileSize="25014239" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1.webm" expression="full" duration="308" fileSize="4896" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1.wma" expression="full" duration="308" fileSize="2507363" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1.wmv" expression="full" duration="308" fileSize="9175334" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1_high.mp4" expression="full" duration="308" fileSize="59979228" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1_mid.mp4" expression="full" duration="308" fileSize="40874957" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1_Source.wmv" expression="full" duration="308" fileSize="4736514" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1.ism/manifest" expression="full" duration="308" fileSize="6098" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/44c2/a456d032-78a3-4ba8-bb89-6174f46e44c2/efm3v1.wmv" length="9175334" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>4</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Ler-dados-do-banco-de-dados-Parte-1/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Estrutura do banco de dados e do ORM - Parte 2</title>
      <description><![CDATA[<p>Estrutura do banco de dados e do ORM - Parte 2</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:048052bcf31e46b186f8a03f0145e9b3">]]></description>
      <comments>http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-2</comments>
      <itunes:summary>Estrutura do banco de dados e do ORM - Parte 2 </itunes:summary>
      <itunes:duration>338</itunes:duration>
      <link>http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-2</link>
      <pubDate>Thu, 26 Apr 2012 20:54:00 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-2</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2_100.jpg" height="56" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2_220.jpg" height="123" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2_512.jpg" height="288" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2.mp3" expression="full" duration="338" fileSize="5417772" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2.mp4" expression="full" duration="338" fileSize="25984013" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2.webm" expression="full" duration="338" fileSize="4905" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2.wma" expression="full" duration="338" fileSize="2750687" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2.wmv" expression="full" duration="338" fileSize="10807514" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2_high.mp4" expression="full" duration="338" fileSize="67110720" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2_mid.mp4" expression="full" duration="338" fileSize="43682985" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2_Source.wmv" expression="full" duration="338" fileSize="8154676" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2.ism/manifest" expression="full" duration="338" fileSize="6132" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/e666/c90a3268-dedf-4324-b613-88975cc2e666/efm2v2.wmv" length="10807514" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-2/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Estrutura do banco de dados e do ORM - Parte 1</title>
      <description><![CDATA[<p>Estrutura do banco de dados e do ORM - Parte 1</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:42154b9f76e24cb198cea03f0141a351">]]></description>
      <comments>http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-1</comments>
      <itunes:summary>Estrutura do banco de dados e do ORM - Parte 1 </itunes:summary>
      <itunes:duration>277</itunes:duration>
      <link>http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-1</link>
      <pubDate>Thu, 26 Apr 2012 20:53:48 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-1</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1_100.jpg" height="56" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1_220.jpg" height="123" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1_512.jpg" height="288" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1.mp3" expression="full" duration="277" fileSize="4438493" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1.mp4" expression="full" duration="277" fileSize="19835806" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1.webm" expression="full" duration="277" fileSize="4905" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1.wma" expression="full" duration="277" fileSize="2255027" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1.wmv" expression="full" duration="277" fileSize="8327148" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1_high.mp4" expression="full" duration="277" fileSize="51692559" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1_mid.mp4" expression="full" duration="277" fileSize="32853851" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1_Source.wmv" expression="full" duration="277" fileSize="5729832" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1.ism/manifest" expression="full" duration="277" fileSize="6130" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/5323/a259eb0c-1b58-48f8-acb2-cf7026c65323/efm2v1.wmv" length="8327148" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Estrutura-do-banco-de-dados-e-do-ORM-Parte-1/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Conceitos do EF, instala&#231;&#227;o, tipos de relacionamentos e modelagem - Parte 2</title>
      <description><![CDATA[<p>Conceitos do EF, instalação, tipos de relacionamentos e modelagem - Parte 2</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:18136c3279654b04932da03f013c305a">]]></description>
      <comments>http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-2</comments>
      <itunes:summary>Conceitos do EF, instala&#231;&#227;o, tipos de relacionamentos e modelagem - Parte 2 </itunes:summary>
      <itunes:duration>307</itunes:duration>
      <link>http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-2</link>
      <pubDate>Thu, 26 Apr 2012 20:53:30 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-2</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2_100.jpg" height="56" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2_220.jpg" height="123" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2_512.jpg" height="288" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2.mp3" expression="full" duration="307" fileSize="4920044" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2.mp4" expression="full" duration="307" fileSize="21406992" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2.webm" expression="full" duration="307" fileSize="4936" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2.wma" expression="full" duration="307" fileSize="2498351" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2.wmv" expression="full" duration="307" fileSize="9191328" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2_high.mp4" expression="full" duration="307" fileSize="58993056" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2_mid.mp4" expression="full" duration="307" fileSize="36417017" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2_Source.wmv" expression="full" duration="307" fileSize="5823864" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2.ism/manifest" expression="full" duration="307" fileSize="6122" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/ed26/c54c21a3-912c-46bc-aa86-f3e16892ed26/efm1v2.wmv" length="9191328" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>0</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-2/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Conceitos do EF, instala&#231;&#227;o, tipos de relacionamentos e modelagem - Parte 1</title>
      <description><![CDATA[<p>Conceitos do EF, instalação, tipos de relacionamentos e modelagem - Parte 1</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:7a716243704342b1afd4a03f012f3ee7">]]></description>
      <comments>http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-1</comments>
      <itunes:summary>Conceitos do EF, instala&#231;&#227;o, tipos de relacionamentos e modelagem - Parte 1 </itunes:summary>
      <itunes:duration>344</itunes:duration>
      <link>http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-1</link>
      <pubDate>Thu, 26 Apr 2012 20:50:19 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-1</guid>
      <media:thumbnail url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1_100.jpg" height="56" width="100"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1_220.jpg" height="123" width="220"></media:thumbnail>
      <media:thumbnail url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1_512.jpg" height="288" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1.mp3" expression="full" duration="344" fileSize="5506441" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1.mp4" expression="full" duration="344" fileSize="27887317" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1.webm" expression="full" duration="344" fileSize="4936" type="video/webm" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1.wma" expression="full" duration="344" fileSize="2792743" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1.wmv" expression="full" duration="344" fileSize="10711550" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1_high.mp4" expression="full" duration="344" fileSize="68999835" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1_mid.mp4" expression="full" duration="344" fileSize="46135449" type="video/mp4" medium="video"></media:content>
        <media:content url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1_Source.wmv" expression="full" duration="344" fileSize="7145358" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1.ism/manifest" expression="full" duration="344" fileSize="6140" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://media.ch9.ms/ch9/fac3/2e20d8af-74d7-493f-a086-e4626f37fac3/efm1v1.wmv" length="10711550" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>9</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Conceitos-do-EF-instalao-tipos-de-relacionamentos-e-modelagem-Parte-1/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
      <category>Entity Framework</category>
    </item>
  <item>
      <title>Introdu&#231;&#227;o sobre Aplica&#231;&#245;es Desktop</title>
      <description><![CDATA[<p><strong>Aplicações Desktop</strong></p><p>Renato Haddad</p><p>Microsoft Most Valuable Professional MVP, MCT, MCPD e MCTS</p><h2>Tecnologias</h2><p>Visual Studio .NET 2010, C#</p><p><strong>&nbsp;</strong></p><h2>Introdução</h2><p>Neste artigo irei abordar aspectos relacionados a aplicações Destkop. Muitos usuários estão acostumados com aplicações WEB, mas toda e qualquer aplicação executada no computador é uma aplicação Desktop, por exemplo, o Internet Explorer, o Microsoft Office, Skype, etc.</p><p>Em nível de desenvolvimento e usabilidade, estas aplicações têm muito mais recursos que qualquer aplicação WEB, afinal, a quantidade de tipos de controles existentes nativos ou criados por terceiros é enorme.</p><p>Vale dizer ainda que alguns tipos de aplicações se enquadram perfeitamente como Desktop, por exemplo, frente de caixa de um bar ou supermercado, dashboards de diretores, calculadoras, etc.</p><p>&nbsp;</p><p>Veja a lista de controles nativos existentes no Visual Studio .NET 2010 para serem utilizados nos formulários. Para você desenvolvedor, basta clicar e arrastar no formulário, posicionar o controle de acordo com o layout definido, configurar as propriedades (pressione F4) e se preciso, dependendo do controle, adicione métodos de ação.</p><p>&nbsp;<a href="http://files.channel9.msdn.com/thumbnail/017c6a15-712b-406e-9298-6baee5b7bf1a.PNG" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/017c6a15-712b-406e-9298-6baee5b7bf1a.PNG" alt=""></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p><p>Veja um formulário contendo alguns controles como Menu, botão, caixa de texto, NumericUpDown e DataGridView.</p><p>&nbsp;<a href="http://files.channel9.msdn.com/thumbnail/35ef3652-c4c7-409d-a3bf-bb88f9c82630.PNG" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/35ef3652-c4c7-409d-a3bf-bb88f9c82630.PNG" alt="" width="663" height="403"></a></p><p>&nbsp;</p><p><strong>Como adicionar eventos aos controles?</strong></p><p>A forma mais rápida de associar um evento ao controle é dar um duplo clique no controle. Neste caso, dê um duplo clique no botão button1 e veja que será aberta a janela de códigos C#. Outra forma é pressionar F4 para exibir a janela de propriedades, clicar no ícone raio amarelo para exibir todos os eventos associados ao respectivo controle, e ao final, dar um duplo clique no respectivo evento.</p><p>Veja que a assinatura do método do button1 informa o nome do evento seguido de dois argumentos. O nome do evento é apenas uma sugestão button1_Click e você pode mudar. Na verdade, o VS pega o nome do controle inseri o underline (_) seguido do evento em si. Já os argumentos são o objeto em si do tipo <em>object </em>(object sender) e os argumentos <em>EventArgs</em>. Com isto você tem acesso a todo o objeto e seus argumentos. Aproveitando este método, digite o código contido entre as chaves para exibir uma mensagem ao usuário quando clicar no botão.</p><p>&nbsp;</p><p>private void button1_Click(object sender, EventArgs e)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; MessageBox.Show(&quot;Ola WinForms&quot;, &quot;MVA&quot;);</p><p>}</p><p>&nbsp;</p><p>Agora vamos ver como criar um evento para um controle do tipo caixa de texto <em>TextBox</em>. No layout sugerido, adicione um <em>Label</em> (nome default é label1) e um TextBox (nome default textbox1). Dê um duplo clique no textBox1 e veja que o evento criado é o TextChanged. Este evento será disparado a cada caractere que você digitar no controle textbox1 e mostrará o resultado no label1. O resultado é convertido para maiúsculo devido ao uso do método ToUpper().</p><p>&nbsp;</p><p>private void textBox1_TextChanged(object sender, EventArgs e)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; label1.Text = textBox1.Text.ToUpper();</p><p>}</p><p>&nbsp;</p><p>Veja a execução do projeto e note que o texto Microsoft Academy do textBox1 está mostrado no label1 em maiúsculo.</p><p>&nbsp;</p><p>&nbsp;<a href="http://files.channel9.msdn.com/thumbnail/881b3a5a-814c-4845-9724-3cc1bb2a5617.PNG" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/881b3a5a-814c-4845-9724-3cc1bb2a5617.PNG" alt="" width="655" height="370"></a></p><p>&nbsp;</p><p>&nbsp;</p><p><strong>Herança Visual de Formulário</strong></p><p>Nas aplicações Desktop quando se tem diversos formulários parecidos é comum o uso do recurso chamado de herança visual. Como o próprio nome diz, todo e qualquer controle existente pode ser herdado. Mas serão apenas os controles? Não, todos os códigos nos eventos também são herdados. No Solution Explorer adicione um novo formulário com template Windows Forms e Inherited Form.</p><p>&nbsp;</p><p>&nbsp;<a href="http://files.channel9.msdn.com/thumbnail/b951dffd-9e6d-4674-a088-cbb7225cc880.PNG" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/b951dffd-9e6d-4674-a088-cbb7225cc880.PNG" alt="" width="640" height="424"></a></p><p>&nbsp;</p><p>O Visual Studio irá abrir uma janela contendo todos os formulários existentes. Então, basta selecionar o formulário que será a base do novo.</p><p>&nbsp;<a href="http://files.channel9.msdn.com/thumbnail/88b0e233-9883-4131-8a35-85209c566ec2.PNG" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/88b0e233-9883-4131-8a35-85209c566ec2.PNG" alt="" width="654" height="386"></a></p><p>&nbsp;</p><p>Veja o resultado do novo formulário herdando todos os controles. Em seguida, adicione os controles que desejar conforme o caso. Note que há um símbolo no canto superior esquerdo de cada controle herdado, diferenciando dos adicionados no formulário atual.</p><p>&nbsp;<a href="http://files.channel9.msdn.com/thumbnail/bd0c1bd6-0c49-40cb-93e4-1bd61dcf5d78.PNG" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/bd0c1bd6-0c49-40cb-93e4-1bd61dcf5d78.PNG" alt="" width="653" height="372"></a></p><p>&nbsp;</p><p>&nbsp;</p><p>Agora que temos os dois formulários Form1 e Form2 respectivamente, retorne ao Form1 e adicione o seguinte código no button2. Este código irá abrir o Form2, sendo que a declaração instancia o Form2 e usa o método Show para mostrar o formulário.</p><p>&nbsp;</p><p>private void button2_Click(object sender, EventArgs e)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; Form2 frm = new Form2();</p><p>&nbsp;&nbsp;&nbsp; frm.Show();</p><p>}</p><p>&nbsp;</p><p>Veja que na execução, ao clicar no button2 é aberto o Form2. E no Form2, ao clicar no mesmo button2 é aberto um novo Form2. Enfim, herança visual é um recurso bastante utilizado nas aplicações desktop que pode tornar o desenvolvimento bem produtivo.</p><p>&nbsp;</p><p>&nbsp;<a href="http://files.channel9.msdn.com/thumbnail/b5f0d1e3-4784-4e78-96c6-574b8398aa21.PNG" rel="lightbox"><img src="http://files.channel9.msdn.com/thumbnail/b5f0d1e3-4784-4e78-96c6-574b8398aa21.PNG" alt="" width="670" height="440"></a></p><p>&nbsp;</p><p>&nbsp;</p><h2>Sobre o Autor</h2><p>Renato Haddad (<a>rehaddad@msn.com</a>&nbsp; – <a href="http://www.renatohaddad.com">www.renatohaddad.com</a> ) é MVP, MCT, MCPD e MCTS, palestrante em eventos da Microsoft em diversos países, ministra treinamentos focados em produtividade com o VS.NET 2010, ASP.NET 4, Entity Framework, Reporting Services e Windows Phone. Visite o blog <a href="http://weblogs.asp.net/renatohaddad">http://weblogs.asp.net/renatohaddad</a>.</p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:b02a19bbb09e44199d3da01a00d9c7ad">]]></description>
      <comments>http://channel9.msdn.com/posts/Introducao-Aplicacoes-Desktop</comments>
      <itunes:summary>Aplica&#231;&#245;es Desktop Renato Haddad Microsoft Most Valuable Professional MVP, MCT, MCPD e MCTS TecnologiasVisual Studio .NET 2010, C# &amp;nbsp; Introdu&#231;&#227;oNeste artigo irei abordar aspectos relacionados a aplica&#231;&#245;es Destkop. Muitos usu&#225;rios est&#227;o acostumados com aplica&#231;&#245;es WEB, mas toda e qualquer aplica&#231;&#227;o executada no computador &#233; uma aplica&#231;&#227;o Desktop, por exemplo, o Internet Explorer, o Microsoft Office, Skype, etc. Em n&#237;vel de desenvolvimento e usabilidade, estas aplica&#231;&#245;es t&#234;m muito mais recursos que qualquer aplica&#231;&#227;o WEB, afinal, a quantidade de tipos de controles existentes nativos ou criados por terceiros &#233; enorme. Vale dizer ainda que alguns tipos de aplica&#231;&#245;es se enquadram perfeitamente como Desktop, por exemplo, frente de caixa de um bar ou supermercado, dashboards de diretores, calculadoras, etc. &amp;nbsp; Veja a lista de controles nativos existentes no Visual Studio .NET 2010 para serem utilizados nos formul&#225;rios. Para voc&#234; desenvolvedor, basta clicar e arrastar no formul&#225;rio, posicionar o controle de acordo com o layout definido, configurar as propriedades (pressione F4) e se preciso, dependendo do controle, adicione m&#233;todos de a&#231;&#227;o. &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Veja um formul&#225;rio contendo alguns controles como Menu, bot&#227;o, caixa de texto, NumericUpDown e DataGridView. &amp;nbsp; &amp;nbsp; Como adicionar eventos aos controles? A forma mais r&#225;pida de associar um evento ao controle &#233; dar um duplo clique no controle. Neste caso, d&#234; um duplo clique no bot&#227;o button1 e veja que ser&#225; aberta a janela de c&#243;digos C#. Outra forma &#233; pressionar F4 para exibir a janela de propriedades, clicar no &#237;cone raio amarelo para exibir todos os eventos associados ao respectivo controle, e ao final, dar um duplo clique no respectivo evento. Veja que a assinatura do m&#233;todo do button1 informa o nome do evento seguido de dois argumentos. O nome do evento &#233; apenas uma sugest&#227;o but</itunes:summary>
      <link>http://channel9.msdn.com/posts/Introducao-Aplicacoes-Desktop</link>
      <pubDate>Tue, 20 Mar 2012 13:19:51 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Introducao-Aplicacoes-Desktop</guid>      
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>31</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Introducao-Aplicacoes-Desktop/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
    </item>
  <item>
      <title>Banco de Dados</title>
      <description><![CDATA[<h1>Banco de Dados</h1><p>Renato Haddad</p><p>Microsoft Most Valuable Professional MVP, MCT, MCPD e MCTS</p><h2>Tecnologias</h2><p>Visual Studio .NET 2010, C#</p><p><strong>&nbsp;</strong></p><h2>Introdução</h2><p>Neste artigo irei abordar um dos tópicos mais usados no desenvolvimento de softwares, que é o acesso a dados. Vou ilustrar o conceito de banco, entidades, relacionamento entre entidades e o famoso CRUD (Create, Read, Update e Delete), que para nós brasileiros é o criar, ler, atualizar e excluir dados.</p><p>Quando falamos em banco de dados pensamos num conjunto de informações armazenadas em algum repositório, de forma que se possam manipular tais informações. O mais conhecido da Microsoft é o SQL Server, e no artigo faremos acesso a ele.</p><p>Outro ponto importante de comentar é que o acesso a dados será feito usando o ADO.NET e suas classes, ou seja, será direto nas entidades, não irei usar nenhuma tecnologia de modelagem de objeto relacional, como por exemplo, o fantástico Entity Framework 4.</p><p>&nbsp;</p><p><strong>O que é um banco de dados?</strong></p><p>Costumo definir que banco de dados é um repositório de informações organizadas. No SQL Server organizamos estas informações de forma relacional, permitindo fazer consultas envolvendo diversas entidades.</p><p>&nbsp;</p><p><strong>O que é uma entidade?</strong></p><p>Entidade é o local onde as informações relacionadas a um conjunto são armazenadas. Por exemplo, se pensarmos em uma entidade de pessoas, teremos todas as informações sobre a pessoa como nome, e-mail, telefone, endereço, etc.</p><p>No entanto é comum ter diversas entidades no banco. Algumas aplicações grandes de ERP chegam a ter cerca de 600 entidades.</p><p>E como que uma entidade se relaciona a outra? Em primeiro lugar, sim, é possível relacionar diversas entidades entre si. Segundo, o tipo de relacionamento define a maneira que serão armazenados os dados. Temos os seguintes tipos:</p><p>&nbsp;</p><p>- Um para Muitos – um registro na entidade A contém diversos registros na entidade B. Por exemplo, um cliente de vários pedidos, um clube tem diversos jogadores.</p><p>&nbsp;</p><p>- Um para Um – um registro na entidade A contém apenas um registro na entidade B. Por exemplo, um cliente na entidade A contém as informações sobre aspectos comerciais na entidade B e também informações sobre informações de créditos na entidade C.</p><p>&nbsp;</p><p>- Muitos para Muitos – o mesmo registro pode estar relacionado várias vezes nas entidades A e B. Por exemplo, uma mulher pode ter diversos homens, e um homem pode ter diversas mulheres.</p><p>&nbsp;</p><p><strong>Tipos de Campos</strong></p><p>Todo banco de dados dispõe os tipos de campos para informações específicas. Isto tudo para facilitar o uso, acesso, conversões na programação, compartilhamento com outros bancos e aplicações. Veja alguns tipos de dados: string (texto), integer (inteiro), double (duplo), money (monetário), data (data), dateTime (data e hora), binário, image (imagem). Claro que cada tipo de banco de dados tem tipos diferentes, mas em linhas gerais estes são os mais comuns.</p><p>&nbsp;</p><p><strong>Ler Dados do Banco</strong></p><p>Vamos aos códigos. Primeiramente utilizarei o banco de dados northwind, que é o mais conhecido no mundo, o qual você pode fazer download no link <a href="http://northwinddatabase.codeplex.com/">http://northwinddatabase.codeplex.com/</a>&nbsp; e instalar no SQL Server.</p><p>&nbsp;</p><p>Na programação o primeiro passo definir a string de conexão, sendo necessário definir o Data Source (servidor), o Initial Catalog (nome do banco de dados), Integrated Security (segurança integrada), user id (usuário) e password (senha). Claro que cada string de conexão depende de onde está instalado e os dados podem ser diferentes.</p><p>Por exemplo, a linha a seguir representa a string de conexão na minha máquina, o qual MARTE é o nome da minha máquina (pode ser o número IP, . (ponto) ou localhost). O nome do banco é o Northwind e uso segurança integrada.</p><p>&nbsp;</p><p>string conexao = &quot;Data Source=MARTE;Initial Catalog=Northwind;Integrated Security=True&quot;;</p><p>&nbsp;</p><p>Como usarei o SQL Server, é preciso declarar o namespace a ser usado que contém todos os métodos e propriedades da classe de acesso a dados. Portanto, o código a seguir deverá ser declarado na lista de <em>using</em>.</p><p>using System.Data.SqlClient;</p><p>&nbsp;</p><p>&nbsp;</p><p>Em seguida, no formulário da aplicação desktop, adicionei um botão e um gridView. O seguinte código irá ler todos os dados da tabela <em>Produtcs (produtos) </em>e mostrará no controle dataGridView1.</p><p>&nbsp;</p><p>try</p><p>{</p><p>&nbsp;&nbsp;&nbsp; string sql = &quot;Select * From Products&quot;;</p><p>&nbsp;&nbsp;&nbsp; using (SqlConnection conn = new SqlConnection(conexao))</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Open();</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataTable dt = new DataTable();</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (SqlCommand cmd = new SqlCommand(sql, conn))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SqlDataReader reader = cmd.ExecuteReader();</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Load(reader);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reader.Close();</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Close();</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dataGridView1.DataSource = dt;</p><p>&nbsp;&nbsp;&nbsp; }</p><p>}</p><p>catch (Exception)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; MessageBox.Show(&quot;Ocorreu algum erro na leitura do banco&quot;);</p><p>}</p><p>&nbsp;</p><p>Veja a explicação detalhada do código:</p><p>O try / catch controla se houve ou não o possíveis erros.</p><p>try</p><p>{</p><p>&nbsp;</p><p>Esta é a instrução T-SQL (Transact SQL) para ler todos (*) os registros da entidade <em>Products</em>.</p><p>string sql = &quot;Select * From Products&quot;;</p><p>&nbsp;</p><p>Aqui é definido o objeto SqlConnection responsável em realizar a conexão com o banco de dados localizado na variável <em>conexao</em>. Em seguida é feita a abertura da conexão com o <em>Open</em>.</p><p>using (SqlConnection conn = new SqlConnection(conexao))</p><p>{</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Open();</p><p>&nbsp;</p><p>O objeto DataTable criará uma tabela na memória, mas será usado logo a seguir.</p><p>DataTable dt = new DataTable();</p><p>&nbsp;</p><p>Agora é preciso executar a consulta no banco, ou seja, o <em>SqlCommand</em> é o comando que pega a instrução T-SQL definida na variável <em>sql</em> e executa na respectiva conexão definido no objeto <em>conn</em>.</p><p>using (SqlCommand cmd = new SqlCommand(sql, conn))</p><p>{</p><p>&nbsp;</p><p>Uma vez executado o <em>SqlCommand</em>, o objeto <em>SqlDataReader</em> irá efetivamente carregar os dados definidos no comando <em>cmd</em>.</p><p>SqlDataReader reader = cmd.ExecuteReader();</p><p>&nbsp;</p><p>Nesta hora usei o método <em>Load</em> do <em>DataTable</em> o qual lê o DataReader declarado em <em>reader</em>. É exatamente agora que os dados vão pra memória na tabela <em>dt (DataTable)</em>.</p><p>dt.Load(reader);</p><p>&nbsp;</p><p>Uma vez lidos os registros, os comandos <em>Close</em> fecham tanto o DataReader quanto a conexão.</p><p>reader.Close();</p><p>}</p><p>conn.Close();</p><p>&nbsp;</p><p>Como os dados estão na memória e devem ser mostrados no objeto <em>dataGridView1</em>, usamos a propriedade <em>DataSource</em> e atribuímos o <em>dt (DataTable)</em>. Pronto, os dados são mostrados ao usuário.</p><p>dataGridView1.DataSource = dt;</p><p>}</p><p>}</p><p>&nbsp;</p><p>Caso ocorrem algum erro no caminho, é exibida a mensagem a seguir para o usuário.</p><p>catch (Exception)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; MessageBox.Show(&quot;Ocorreu algum erro na leitura do banco&quot;);</p><p>}</p><p>&nbsp;</p><p>Veja o resultado da execução.</p><p>&nbsp;</p><p>Agora vamos aprender como filtrar dados, neste caso o usuário irá digitar o valor do preço do produto e o código irá filtrar todos os produtos onde o preço for maior ou igual. Veja o código completo.</p><p>&nbsp;</p><p>try</p><p>{</p><p>&nbsp;&nbsp;&nbsp; string sql = &quot;Select * from Products Where UnitPrice &gt;= @preco&quot;;</p><p>&nbsp;&nbsp;&nbsp; using (SqlConnection conn = new SqlConnection(conexao))</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Open();</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DataTable dt = new DataTable();</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (SqlCommand cmd = new SqlCommand(sql, conn))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmd.Parameters.AddWithValue(&quot;@preco&quot;,</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert.ToDecimal(textBox1.Text));</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SqlDataReader reader = cmd.ExecuteReader();</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dt.Load(reader);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reader.Close();</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Close();</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dataGridView1.DataSource = dt;</p><p>&nbsp;&nbsp;&nbsp; }</p><p>}</p><p>catch (Exception)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; MessageBox.Show(&quot;Ocorreu algum erro na leitura do banco&quot;);</p><p>}</p><p>&nbsp;</p><p>Basicamente o código é igual ao anterior, exceto estas duas linhas. A instrução T-SQL seleciona todos os produtos onde (Where) o campo <em>UnitPrice</em> (preço) for &gt;= (maior ou igual) ao @preco. O @preco significa que é um parâmetro, o qual está declarado na linha seguinte. A sintaxe informa que o comando <em>cmd</em> declara o parâmetro <em>Parameters</em> e adiciona o valor <em>AddWithValue</em> declarado no @preco contendo o valor digitado pelo usuário no controle <em>textBox1</em>. A propriedade <em>Text</em> lê o valor digitado.</p><p>&nbsp;</p><p>string sql = &quot;Select * from Products Where UnitPrice &gt;= @preco&quot;;</p><p>cmd.Parameters.AddWithValue(&quot;@preco&quot;,</p><p>Convert.ToDecimal(textBox1.Text));</p><p>&nbsp;</p><p>Veja o resultado com o filtro 60. Observe a coluna UnitPrice.</p><p>&nbsp;</p><p><strong>Atualizar Dados no Banco</strong></p><p>Todo banco de dados pode disponibilizar registros para ser atualizado, isto é comum. Neste exemplo iremos atualizar o campo <em>UnitsInStock</em> (quantidade no estoque) igual ao valor que o usuário digitar. No entanto, quando se atualiza dados é importante destacar para qual registro será realizada a operação. Neste caso, a quantidade no estoque será atualizada somente para o produto onde o campo <em>ProductID</em> (código do produto) for igual ao código que o usuário digitar. Veja o código completo.</p><p>&nbsp;</p><p>try</p><p>{</p><p>&nbsp;&nbsp;&nbsp; string sql = &quot;Update Products SET UnitsInStock=@qtde Where ProductID=@codigo&quot;;</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; using (SqlConnection conn = new SqlConnection(conexao))</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Open();</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (SqlCommand cmd = new SqlCommand(sql, conn))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmd.Parameters.AddWithValue(&quot;@qtde&quot;,</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert.ToInt16(txtEstoque.Text));</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmd.Parameters.AddWithValue(&quot;@codigo&quot;,</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert.ToInt16(txtID.Text));</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmd.ExecuteNonQuery();</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MessageBox.Show(&quot;Estoque atualizado&quot;);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Close();</p><p>&nbsp;&nbsp;&nbsp; }</p><p>}</p><p>catch (Exception)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; MessageBox.Show(&quot;Ocorreu algum erro na atualização de dados&quot;);</p><p>}</p><p>&nbsp;</p><p>Vamos a explicação detalhada das linhas que interessam, pois o restante é igual aos códigos vistos anteriormente. Veja a instrução T-SQL dizendo <em>Update </em>(Atualize) a tabela <em>Products </em>(Produtos) para o campo (<em>SET UnitsInStock</em>) igual ao parâmetro <em>@qtde</em> que é a quantidade que o usuário digitar. Como a atualização será feita somente para um produto o <em>Where </em>(onde) aplica o filtro com a condição <em>ProductID </em>(código do produto, este é um campo chave e único) for igual ao parâmetro <em>@codigo</em> cujo valor o usuário também irá digitar. Nestas instruções de atualização se você não declarar o filtro (Where) a execução se dará para todos os registros da entidade, então, preste atenção e aplique o filtro quando necessário.</p><p>&nbsp;</p><p>string sql = &quot;Update Products SET UnitsInStock=@qtde Where ProductID=@codigo&quot;;</p><p>&nbsp;</p><p>Veja a declaração dos dois parâmetros que o usuário irá digitar as informações nas caixas de texto.</p><p>&nbsp;</p><p>cmd.Parameters.AddWithValue(&quot;@qtde&quot;,</p><p>Convert.ToInt16(txtEstoque.Text));</p><p>&nbsp;</p><p>cmd.Parameters.AddWithValue(&quot;@codigo&quot;,</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Convert.ToInt16(txtID.Text));</p><p>&nbsp;</p><p>Esta linha executa a operação em si. Toda e qualquer operação que não seja de leitura, use o <em>ExecuteNonQuery</em> para efetivar o comando no banco.</p><p>&nbsp;</p><p>cmd.ExecuteNonQuery();</p><p>&nbsp;</p><p>&nbsp;</p><p>A seguir vamos aprender como fazer inclusão de dados no banco de dados. Neste exemplo eu não criei uma interface de usuário para que ele digite as informações, apenas fixei os dados porque o foco é mostrar como incluir. O código completo está a seguir.</p><p>&nbsp;</p><p>try</p><p>{</p><p>&nbsp;&nbsp;&nbsp; string sql = &quot;INSERT INTO Products (ProductName, UnitPrice, UnitsInStock, CategoryID) values (@nome, @preco, @estoque, @categoria)&quot;;</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; using (SqlConnection conn = new SqlConnection(conexao))</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Open();</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using (SqlCommand cmd = new SqlCommand(sql, conn))</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Random rnd = new Random();</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int numero = rnd.Next(200, 500);</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // valores do produto</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmd.Parameters.AddWithValue(&quot;@nome&quot;, &quot;Produto&quot; &#43; numero);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmd.Parameters.AddWithValue(&quot;@preco&quot;, numero);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmd.Parameters.AddWithValue(&quot;@estoque&quot;, numero);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmd.Parameters.AddWithValue(&quot;@categoria&quot;, 1);</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cmd.ExecuteNonQuery();</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MessageBox.Show(&quot;Produto cadastrado com sucesso&quot;);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button1_Click(null, null);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; conn.Close();</p><p>&nbsp;&nbsp;&nbsp; }</p><p>}</p><p>catch (Exception)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; MessageBox.Show(&quot;Ocorreu algum erro no cadastro.&quot;);</p><p>}</p><p>&nbsp;</p><p>Veja como é a instrução T-SQL para inclusão. Você deve declarar o <em>INSERT INTO</em> (inclua na tabela) <em>Products </em>(Produtos), seguido da lista de campos da entidade, <em>values</em> (valores) seguido da lista de parâmetros a serem declarados depois.</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; string sql = &quot;INSERT INTO Products (ProductName, UnitPrice, UnitsInStock, CategoryID) values (@nome, @preco, @estoque, @categoria)&quot;;</p><p>&nbsp;</p><p>Aqui eu acabei usando um truque, um artificio para gerar um número aleatório que será usado como dado e exemplo. Este número aleatório será gerado entre 200 e 500.</p><p>&nbsp;</p><p>Random rnd = new Random();</p><p>int numero = rnd.Next(200, 500);</p><p>&nbsp;</p><p>A seguir são declarados todos os parâmetros para o nome, preço, estoque e categoria do produto novo. Note que usei o número aleatório gerado para servir como preço, estoque e também no nome do produto, o qual concatenei com a palavra Produto gerando por exemplo Produto234, Produto123, etc.</p><p>&nbsp;</p><p>// valores do produto</p><p>cmd.Parameters.AddWithValue(&quot;@nome&quot;, &quot;Produto&quot; &#43; numero);</p><p>cmd.Parameters.AddWithValue(&quot;@preco&quot;, numero);</p><p>cmd.Parameters.AddWithValue(&quot;@estoque&quot;, numero);</p><p>cmd.Parameters.AddWithValue(&quot;@categoria&quot;, 1);</p><p>&nbsp;</p><p>cmd.ExecuteNonQuery();</p><p>&nbsp;</p><p>&nbsp;</p><p>Veja um exemplo de dois novos produtos cadastrados.</p><p>&nbsp;</p><h2>Sobre o Autor</h2><p>Renato Haddad (<a href="">rehaddad@msn.com</a>&nbsp; – <a href="http://www.renatohaddad.com">www.renatohaddad.com</a> ) é MVP, MCT, MCPD e MCTS, palestrante em eventos da Microsoft em diversos países, ministra treinamentos focados em produtividade com o VS.NET 2010, ASP.NET 4, Entity Framework, Reporting Services e Windows Phone. Visite o blog <a href="http://weblogs.asp.net/renatohaddad">http://weblogs.asp.net/renatohaddad</a>.</p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:ef251581624949c6abe4a01a00d418a1">]]></description>
      <comments>http://channel9.msdn.com/posts/Banco-de-Dados</comments>
      <itunes:summary>Banco de DadosRenato Haddad Microsoft Most Valuable Professional MVP, MCT, MCPD e MCTS TecnologiasVisual Studio .NET 2010, C# &amp;nbsp; Introdu&#231;&#227;oNeste artigo irei abordar um dos t&#243;picos mais usados no desenvolvimento de softwares, que &#233; o acesso a dados. Vou ilustrar o conceito de banco, entidades, relacionamento entre entidades e o famoso CRUD (Create, Read, Update e Delete), que para n&#243;s brasileiros &#233; o criar, ler, atualizar e excluir dados. Quando falamos em banco de dados pensamos num conjunto de informa&#231;&#245;es armazenadas em algum reposit&#243;rio, de forma que se possam manipular tais informa&#231;&#245;es. O mais conhecido da Microsoft &#233; o SQL Server, e no artigo faremos acesso a ele. Outro ponto importante de comentar &#233; que o acesso a dados ser&#225; feito usando o ADO.NET e suas classes, ou seja, ser&#225; direto nas entidades, n&#227;o irei usar nenhuma tecnologia de modelagem de objeto relacional, como por exemplo, o fant&#225;stico Entity Framework 4. &amp;nbsp; O que &#233; um banco de dados? Costumo definir que banco de dados &#233; um reposit&#243;rio de informa&#231;&#245;es organizadas. No SQL Server organizamos estas informa&#231;&#245;es de forma relacional, permitindo fazer consultas envolvendo diversas entidades. &amp;nbsp; O que &#233; uma entidade? Entidade &#233; o local onde as informa&#231;&#245;es relacionadas a um conjunto s&#227;o armazenadas. Por exemplo, se pensarmos em uma entidade de pessoas, teremos todas as informa&#231;&#245;es sobre a pessoa como nome, e-mail, telefone, endere&#231;o, etc. No entanto &#233; comum ter diversas entidades no banco. Algumas aplica&#231;&#245;es grandes de ERP chegam a ter cerca de 600 entidades. E como que uma entidade se relaciona a outra? Em primeiro lugar, sim, &#233; poss&#237;vel relacionar diversas entidades entre si. Segundo, o tipo de relacionamento define a maneira que ser&#227;o armazenados os dados. Temos os seguintes tipos: &amp;nbsp; - Um para Muitos – um registro na entidade A cont&#233;m diversos registros na entidade B. Por exemplo, um cliente de v&#225;rios pedidos, um clube tem diversos jogadores. &amp;nbsp; - Um para Um – um registro na entidade A c</itunes:summary>
      <link>http://channel9.msdn.com/posts/Banco-de-Dados</link>
      <pubDate>Tue, 20 Mar 2012 12:52:32 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Banco-de-Dados</guid>      
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>50</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Banco-de-Dados/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
    </item>
  <item>
      <title>Entendendo Aplica&#231;&#245;es WEB</title>
      <description><![CDATA[<p><strong>Entendendo Aplicações WEB</strong></p><p>Renato Haddad</p><p>Microsoft Most Valuable Professional MVP, MCT, MCPD e MCTS</p><h2>Tecnologias</h2><p>Visual Studio .NET 2010, C#</p><p><strong>&nbsp;</strong></p><h2>Introdução</h2><p>Neste artigo vamos falar sobre aplicações ASP.NET e Web Services. As aplicações feitas para rodarem em navegadores atingiram um nível de apresentação e interação com o internauta excelente. Os próprios recursos atualmente nos permite executar aplicações ASP.NET com desempenhos ótimos, por exemplo, sites do governo, pesquisa de preços, classificados e portais. Alguns destes tem uma grande quantidade de internautas simultâneos e a aplicação aguenta tranquilamente.</p><p>&nbsp;</p><p>Já o Web Service é uma forma de expor informações de uma aplicação via WEB através de XML, HTTP e o protocolo SOAP (Simple Object Access Protocol). Internamente é uma classe como outra qualquer contendo alguns atributos. O conceito de Web Service é compartilhar informações entre aplicações e plataformas.</p><p>&nbsp;</p><p><strong>Aplicação ASP.NET</strong></p><p>Toda aplicação ASP.NET contém o layout que chamamos de interface com o usuário. Existe a linguagem HTML que é aceita por todos os navegadores, e sendo assim, é correto pensar em gerar o máximo possível de HTML e Java Script para que a compatibilidade fique 100%.</p><p>&nbsp;</p><p>No entanto, o ASP.NET tem uma particularidade porque a maioria dos tipos de controles utilizados nas páginas são assinados com a tag &lt;asp:.&nbsp; Isto significa dizer que são controles executados no servidor, e o fluxo de execução ocorre da seguinte forma: o internauta faz uma requisição no servidor, onde o mesmo processa o código, gera um HTML e devolve para o navegador do internauta. Isto ocorre a cada solicitação no servidor. Desta maneira, o responsável por gerar o HTML é o servidor. Perceba então que o desenvolvedor não coloca controles HTML no código ASP.NET, mesmo porque se você usar os controles do ASP.NET assinados como &lt;asp: tem a enorme vantagem de disparar eventos, atribuir propriedades, ou seja, ele é um objeto.</p><p>&nbsp;</p><p>Em relação ao layout das páginas ASP.NET, 100% dos sites utilizam um arquivo de CSS (Cascade Style Sheet) o qual contém todas as configurações de layout, cores, tamanhos e aspectos gerais de formatação. Uma aplicação ASP.NET pode ser modificada quase que 100% só com a utilização de CSS, então, dominar CSS é muito importante, facilitando o desenvolvimento.</p><p>&nbsp;</p><p>Para referenciar um arquivo CSS numa página ASP.NET coloque a seguinte declaração na sessão HEAD da página. Normalmente declaramos na Master.Page, assim todas as páginas que herdarem a Master já enxergam o CSS. Antes que você pergunte, sim é possível ter vários CSS na mesma página.</p><p>&nbsp;</p><p>&lt;link href=&quot;~/Styles/Site.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;</p><p>&nbsp;</p><p>&nbsp;</p><p>No Visual Studio .NET 2010 quando você cria uma aplicação ASP.NET, já são criados alguns modelos para facilitar o desenvolvimento, por exemplo a Master.Page, um CSS, a página Default. Veja no código a seguir os controles ASP.NET inseridos no ContentPlaceHolder da página default.aspx. Veja que há declarações HTML como &lt;h2&gt;, &lt;p&gt;, &lt;br /&gt; assim como &lt;asp:TextBox&gt;, &lt;DropDownList&gt;, &lt;Button&gt; e &lt;Label&gt;. Cada controle contém as propriedades pois são objetos.</p><p>&nbsp;</p><p>&lt;asp:Content ID=&quot;BodyContent&quot; runat=&quot;server&quot; ContentPlaceHolderID=&quot;MainContent&quot;&gt;</p><p>&nbsp;&nbsp;&nbsp; &lt;h2&gt;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Welcome to ASP.NET!</p><p>&nbsp;&nbsp;&nbsp; &lt;/h2&gt;</p><p>&nbsp;&nbsp;&nbsp; &lt;p&gt;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; To learn more about ASP.NET visit &lt;a href=&quot;http://www.asp.net&quot; title=&quot;ASP.NET Website&quot;&gt;www.asp.net&lt;/a&gt;.</p><p>&nbsp;&nbsp;&nbsp; &lt;/p&gt;</p><p>&nbsp;&nbsp;&nbsp; Nome:</p><p>&nbsp;&nbsp;&nbsp; &lt;asp:TextBox ID=&quot;txtNome&quot; runat=&quot;server&quot;&gt;&lt;/asp:TextBox&gt;</p><p>&nbsp;&nbsp;&nbsp; &lt;br /&gt;</p><p>&nbsp;&nbsp;&nbsp; Categoria:</p><p>&nbsp;&nbsp;&nbsp; &lt;asp:DropDownList runat=&quot;server&quot; ID=&quot;ddlCategorias&quot;&gt;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:ListItem Text=&quot;Bebidas&quot; /&gt;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:ListItem Text=&quot;Massas&quot; /&gt;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:ListItem Text=&quot;Automoveis&quot; /&gt;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:ListItem Text=&quot;Acessorios&quot; /&gt;</p><p>&nbsp;&nbsp;&nbsp; &lt;/asp:DropDownList&gt;</p><p>&nbsp;&nbsp;&nbsp; &lt;br /&gt;</p><p>&nbsp;&nbsp;&nbsp; &lt;asp:Button Text=&quot;Enviar&quot; runat=&quot;server&quot; id=&quot;btnEnviar&quot; CssClass=&quot;bold&quot; onclick=&quot;btnEnviar_Click&quot;/&gt;</p><p>&nbsp;&nbsp;&nbsp; &lt;br /&gt;</p><p>&nbsp;&nbsp;&nbsp; &lt;asp:Label id=&quot;lblNome&quot; runat=&quot;server&quot; CssClass=&quot;failureNotification&quot; /&gt;</p><p>&lt;/asp:Content&gt;</p><p>&nbsp;</p><p>A figura seguinte ilustra exatamente o código anterior.</p><p>&nbsp;</p><p>Como há um botão chamado <em>btnEnviar</em>, dê um duplo clique para criar o evento de clicar. Digite o seguinte código que irá exibir no <em>Label lblNome</em> o nome digitado no <em>txtNome</em> concatenado da categoria selecionada no <em>DropDownList</em> <em>ddlCategorias</em>.</p><p>&nbsp;</p><p>protected void btnEnviar_Click(object sender, EventArgs e)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; lblNome.Text = txtNome.Text &#43;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot; - categoria: &quot; &#43; ddlCategorias.Text;</p><p>}</p><p>&nbsp;</p><p>Para executar pressione F5 e teste no navegador.</p><p>&nbsp;</p><p>&nbsp;</p><p>Exatamente no evento clicar do botão, é enviada uma requisição ao servidor que irá ler os dados digitados/selecionados, gerar o HTML e devolver ao cliente o resultado. Isto é o que chamamos de execução no servidor.</p><p>&nbsp;</p><p>Já o processamento do lado do cliente é usado o Java Script porque todo navegador entende isto. Desta forma, como tudo está no cliente, não há requisição feita no servidor, deixando o processamento muito mais rápido, afinal fica tudo local.</p><p>As declarações do Java Script podem ser feitas na sessão HEAD do HTML. Quando se utiliza Mater.Page na Master há o PlaceHolder chamado HeaderContent e é exatamente aqui que declaramos o Java Script, conforme o código a seguir. Está código mostrará uma caixa de mensagem Olá toda vez que a página for carregada. O comando <em>alert</em> do Java Script contém a mensagem que quer exibir ao usuário.</p><p>&nbsp;</p><p>Em alguns tipos de aplicações quando é preciso identificar um elemento na página, é usado o <em>document.getElementsByName(&quot;lblNome&quot;);</em> contendo o nome do controle em si, neste caso o <em>lblNome</em>.</p><p>&nbsp;</p><p>&lt;asp:Content ID=&quot;HeaderContent&quot; runat=&quot;server&quot; ContentPlaceHolderID=&quot;HeadContent&quot;&gt;</p><p>&nbsp;&nbsp;&nbsp; &lt;script type=&quot;text/javascript&quot;&gt;</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert('Ola');</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementsByName(&quot;lblNome&quot;);</p><p>&nbsp;&nbsp;&nbsp; &lt;/script&gt;</p><p>&lt;/asp:Content&gt;</p><p>&nbsp;</p><p>Isto foi apenas para você ter uma ideia de processamento no cliente e no servidor.</p><p>&nbsp;</p><p>Quando tiver um formulário aberto no VS, abra a Toolbox para ver quais controles podem ser usados na aplicação, conforme a seguinte figura.</p><p>&nbsp;</p><p><strong>Web Service</strong></p><p>&nbsp;</p><p>Web Service é uma forma de compartilhar informações entre aplicações e plataformas, permitindo assim expor serviços de leitura e escrita pela WEB. Basicamente se eu disser que muitas aplicações trocam arquivos texto para conversarem você saberá o que estou dizendo. No entanto, Web Service foi feito para ser transparente, ou seja, você cria um método que recebe a solicitação via WEB, executa um determinado código que só o método sabe, e no retorno ao cliente é gerado um XML. Para o tráfego é utilizado o protocolo SOAP (Simple Object Access Protocol) que é trafegado via HTTP.</p><p>&nbsp;</p><p>Veja no código a seguir um Web Service criado no Visual Studio contendo os atributos de [WebService] e [WebServiceBinding]. Veja que a classe chama-se <em>WebService1</em>, poderia ser qualquer outro nome também o qual herda de <em>System.Web.Service.WebServices</em>.</p><p>&nbsp;</p><p>Já na declaração dos métodos, o mais importante é a declaração do atributo [WebMethod] que indica que este método será exposto via WEB. Neste exemplo, temos dois métodos, o <em>HelloWorld</em> que é default e eu não o apaguei, e o <em>Somar</em> que digitei. Este <em>Somar</em> retorna um tipo <em>int (inteiro)</em> e tem dois parâmetros de entrada do tipo <em>int</em>, que são os números a serem somados. O conteúdo do método é apenas a soma dos dois parâmetros n1 e n2.</p><p>&nbsp;</p><p>[WebService(Namespace = &quot;http://tempuri.org/&quot;)]</p><p>[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]</p><p>[System.ComponentModel.ToolboxItem(false)]</p><p>[System.Web.Script.Services.ScriptService]</p><p>public class WebService1 : System.Web.Services.WebService</p><p>{</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; [WebMethod]</p><p>&nbsp;&nbsp;&nbsp; public string HelloWorld()</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return &quot;Hello World&quot;;</p><p>&nbsp;&nbsp;&nbsp; }</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; [WebMethod(Description = &quot;Somar 2 numeros&quot;)]</p><p>&nbsp;&nbsp;&nbsp; public int Somar(int n1, int n2)</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return n1 &#43; n2;</p><p>&nbsp;&nbsp;&nbsp; }</p><p>}</p><p>&nbsp;</p><p>&nbsp;</p><p>Na execução do Web Service no navegador (veja que a extensão do arquivo é .asmx) são mostrados os dois métodos.</p><p>&nbsp;</p><p>Clique em Somar e aparecerá uma tela solicitando a digitação dos dois números.</p><p>&nbsp;</p><p>Digite por exemplo os números 27 e 3 e clique no botão Invoke. O resultado final será um XML contendo o resultado da soma 30.</p><p>&nbsp;</p><p>Agora vou mostrar como montar uma página ASP.NET chamada ConsomeWebService contendo o layout a seguir que irá invocar o web servisse criado.</p><p>&nbsp;</p><p>&lt;h1&gt;Consome web service&lt;/h1&gt;</p><p>número 1:</p><p>&lt;asp:TextBox runat=&quot;server&quot; id=&quot;txt1&quot;/&gt;</p><p>&lt;br /&gt;</p><p>&nbsp;</p><p>número 2:</p><p>&lt;asp:TextBox runat=&quot;server&quot; id=&quot;txt2&quot;/&gt;</p><p>&lt;br /&gt;</p><p>&nbsp;</p><p>&lt;asp:Button Text=&quot;Somar&quot; ID=&quot;btnSomar&quot; runat=&quot;server&quot; onclick=&quot;btnSomar_Click&quot; /&gt;</p><p>&nbsp;</p><p>&lt;br /&gt;</p><p>&nbsp;</p><p>&lt;asp:Label Text=&quot;0&quot; ID=&quot;lblSomar&quot; runat=&quot;server&quot; /&gt;</p><p>&nbsp;</p><p>Veja o layout do código.</p><p>&nbsp;</p><p>Dê um duplo clique no botão Somar e digite o seguinte código que irá instanciar a classe WebService1, invocar o método Somar passando os dois números digitados como argumentos. O uso do <em>int.Parse</em> é necessário porque os parâmetros no Web Service esperam um número do tipo <em>int</em>.</p><p>&nbsp;</p><p>protected void btnSomar_Click(object sender, EventArgs e)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; WebService1 ws = new WebService1();</p><p>&nbsp;&nbsp;&nbsp; lblSomar.Text = ws.Somar(int.Parse(txt1.Text),</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int.Parse(txt2.Text)).ToString();</p><p>}</p><p>&nbsp;</p><p>Este exemplo é prático porque fiz o Web Service no mesmo projeto, mas se você quiser separar os projetos, um de ASP.NET e outro de Web Service ou ainda referenciar um Web Service do mercado, basta adicionar a referencia no projeto ASP.NET. Neste caso, informa a <em>URL</em> completa do Web Service.</p><p>&nbsp;</p><p>Bons estudos e sucesso nos projetos.</p><p>&nbsp;</p><p>&nbsp;</p><h2>Sobre o Autor</h2><p>Renato Haddad (<a href="">rehaddad@msn.com</a>&nbsp; – <a href="http://www.renatohaddad.com">www.renatohaddad.com</a> ) é MVP, MCT, MCPD e MCTS, palestrante em eventos da Microsoft em diversos países, ministra treinamentos focados em produtividade com o VS.NET 2010, ASP.NET 4, Entity Framework, Reporting Services e Windows Phone. Visite o blog <a href="http://weblogs.asp.net/renatohaddad">http://weblogs.asp.net/renatohaddad</a>.</p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:aa94abc65b7749b99706a01a00d21ab0">]]></description>
      <comments>http://channel9.msdn.com/posts/Entendendo-Aplicaes-WEB</comments>
      <itunes:summary>Entendendo Aplica&#231;&#245;es WEB Renato Haddad Microsoft Most Valuable Professional MVP, MCT, MCPD e MCTS TecnologiasVisual Studio .NET 2010, C# &amp;nbsp; Introdu&#231;&#227;oNeste artigo vamos falar sobre aplica&#231;&#245;es ASP.NET e Web Services. As aplica&#231;&#245;es feitas para rodarem em navegadores atingiram um n&#237;vel de apresenta&#231;&#227;o e intera&#231;&#227;o com o internauta excelente. Os pr&#243;prios recursos atualmente nos permite executar aplica&#231;&#245;es ASP.NET com desempenhos &#243;timos, por exemplo, sites do governo, pesquisa de pre&#231;os, classificados e portais. Alguns destes tem uma grande quantidade de internautas simult&#226;neos e a aplica&#231;&#227;o aguenta tranquilamente. &amp;nbsp; J&#225; o Web Service &#233; uma forma de expor informa&#231;&#245;es de uma aplica&#231;&#227;o via WEB atrav&#233;s de XML, HTTP e o protocolo SOAP (Simple Object Access Protocol). Internamente &#233; uma classe como outra qualquer contendo alguns atributos. O conceito de Web Service &#233; compartilhar informa&#231;&#245;es entre aplica&#231;&#245;es e plataformas. &amp;nbsp; Aplica&#231;&#227;o ASP.NET Toda aplica&#231;&#227;o ASP.NET cont&#233;m o layout que chamamos de interface com o usu&#225;rio. Existe a linguagem HTML que &#233; aceita por todos os navegadores, e sendo assim, &#233; correto pensar em gerar o m&#225;ximo poss&#237;vel de HTML e Java Script para que a compatibilidade fique 100%. &amp;nbsp; No entanto, o ASP.NET tem uma particularidade porque a maioria dos tipos de controles utilizados nas p&#225;ginas s&#227;o assinados com a tag &amp;lt;asp:.&amp;nbsp; Isto significa dizer que s&#227;o controles executados no servidor, e o fluxo de execu&#231;&#227;o ocorre da seguinte forma: o internauta faz uma requisi&#231;&#227;o no servidor, onde o mesmo processa o c&#243;digo, gera um HTML e devolve para o navegador do internauta. Isto ocorre a cada solicita&#231;&#227;o no servidor. Desta maneira, o respons&#225;vel por gerar o HTML &#233; o servidor. Perceba ent&#227;o que o desenvolvedor n&#227;o coloca controles HTML no c&#243;digo ASP.NET, mesmo porque se voc&#234; usar os controles do ASP.NET assinados como &amp;lt;asp: tem a enorme vantagem de disparar eventos, atribuir propriedades, ou seja, ele &#233; um objeto. &amp;nbsp; Em rela&#231;&#227;o ao layout d</itunes:summary>
      <link>http://channel9.msdn.com/posts/Entendendo-Aplicaes-WEB</link>
      <pubDate>Tue, 20 Mar 2012 12:45:54 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Entendendo-Aplicaes-WEB</guid>      
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>72</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Entendendo-Aplicaes-WEB/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
    </item>
  <item>
      <title>Fundamentos do Desenvolvimento de Software</title>
      <description><![CDATA[<h1>Fundamentos do Desenvolvimento de Software</h1><p>Renato Haddad</p><p>Microsoft Most Valuable Professional MVP, MCT, MCPD e MCTS</p><h2>Tecnologias</h2><p>Visual Studio .NET 2010, C#</p><p><strong>&nbsp;</strong></p><h2>Introdução</h2><p>Neste artigo irei abordar alguns tópicos básicos que todo desenvolvedor deve saber. A pedidos, os tópicos serão básicos porque este artigo faz parte do programa Microsoft Academy Awards, Módulo Estruturas de decisão e repetição e Programação Orientada a Objeto – OOP.</p><p>&nbsp;</p><p>Decidi usar a linguagem Visual C# simplesmente porque a maioria dos exemplos encontrados na web usam C#. Neste artigo abordarei as estruturas de decisões e repetições, programação orientada a objetos, como criar uma classe, adicionar propriedades, métodos e um construtor. Para finalizar, como herdar uma classe e as vantagens.</p><p>&nbsp;</p><p><strong>Estruturas de decisões </strong></p><p>Toda aplicação que precise de um direcionamento do fluxo de execução dos códigos, utiliza os comandos de condições, os quais têm como objetivo avaliar uma condição e conforme o resultado, direcionar o fluxo para uma operação, seja ela um bloco de códigos, uma função, etc.</p><p>&nbsp;</p><p>O primeiro e o mais conhecido é o <strong><em>if</em></strong> (se). Sua sintaxe é:</p><p>&nbsp;</p><p>If ( condição ) ... else / else if ( condição )</p><p>&nbsp;</p><p>Basicamente a condição pode ser uma expressão lógica ou relacional. No exemplo a seguir é definida a variável idade com valor 12 e o if avalia se a idade é maior ou igual a 18. Caso seja verdadeiro, então será mostrada a mensagem &quot;Maior de idade&quot;. Neste caso, há apenas uma instrução a ser executada.</p><p>&nbsp;</p><p>var idade = 12;</p><p>if (idade &gt;= 18) Console.WriteLine(&quot;Maior de idade&quot;);</p><p>&nbsp;</p><p>Já no próximo exemplo note que dependendo da condição há um bloco de código a ser executado, sendo que o mesmo deverá estar entre chave {}. Neste caso, se a idade for maior ou igual a 18, então, será mostrada a mensagem &quot;responsável&quot;, a idade será somada mais 2 anos, ou seja o resultado final é 14, e ao final, será mostrado o valor da variável já com o novo valor.</p><p>Note que neste código tem o uso do <strong><em>else</em></strong>, o qual é a ação falsa da expressão avaliada. Ou seja, neste caso se a idade não for maior ou igual a 18, serão mostradas duas mensagens (&quot;Requer auxilio dos pais&quot;) e a idade (neste caso, 10), pois o -= subtrai 2 do valor atual de 12.</p><p>Enfim, em situações onde requer a execução de códigos ou blocos de códigos conforme a expressão avaliada, use o else.</p><p>&nbsp;</p><p>if (idade &gt;= 18)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;responsável&quot;);</p><p>&nbsp;&nbsp;&nbsp; idade &#43;= 2;</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(idade);</p><p>}</p><p>else</p><p>{</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Requer auxilio dos pais&quot;);</p><p>&nbsp;&nbsp;&nbsp; idade -= 2;</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(idade);</p><p>}</p><p>&nbsp;</p><p>Aprimorando um pouco o uso do <strong><em>if</em></strong>, veja no exemplo a seguir que há três situações possíveis de resultado. A idade inicial é 13, e a primeira expressão avalia se a idade é igual (==) a 10. Caso verdadeiro, mostra a mensagem &quot;igual a 10&quot;. Caso contrário, é avaliada a segunda expressão, pois o uso do <strong><em>else if</em></strong> (senão se) avalia se a idade é maior ou igual a 12 E (&amp;&amp;) menor ou igual a 16. Veja que neste caso é a mesma coisa que dizer entre 12 e 16, inclusive. Observe o uso do &amp;&amp; o qual significa o E de forma que ambas as expressões devem ser verdadeiras. Caso seja, será mostrada a mensagem &quot;Adolescente&quot;. Neste exemplo se nenhuma das duas expressões anteriores for verdadeira, então o fluxo cairá no <strong><em>else</em></strong> e mostrará &quot;maior que 16&quot;. Detalhe: quantos <strong><em>else if</em></strong> posso ter? Quantos forem necessários, não há limites.</p><p>&nbsp;</p><p>idade = 13;</p><p>if (idade == 10)</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;igual a 10&quot;);</p><p>else if (idade &gt;= 12 &amp;&amp; idade &lt;=16)</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Adolescente&quot;);</p><p>else</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;maior que 16&quot;);</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>Assim com temos o E (&amp;&amp;), o uso do OU (||) é muito comum. Neste exemplo a seguir a mensagem &quot;condição OU satisfeita&quot; será exibida somente se a idade for igual a 1 OU igual a 10. Caso contrário, jamais este código será executado.</p><p>&nbsp;</p><p>if (idade == 1 || idade == 10)</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;condicao OU satisfeita&quot;);</p><p>&nbsp;</p><p>&nbsp;</p><p>Já pensou em escrever um código com muitos <strong><em>IFs</em></strong>? Não faz muito sentido isto. Em minha opinião fica um código que chamamos de sujo, de difícil manutenção, então se faz uso do comando <strong><em>swtich</em></strong>. Veja o exemplo a seguir: a variável linguagem contém o texto &quot;cs&quot;. O <strong><em>swtich</em></strong> avalia exatamente esta expressão <strong><em>swtich</em></strong> <strong><em>(linguagem)</em></strong>. Dentro do bloco você deve colocar o <strong><em>case</em></strong> para cada condição a ser avaliada, e de acordo com o resultado, executa-se o código. Neste caso, dependendo das condições (<strong><em>vb</em></strong> ou <strong><em>cs</em></strong>) será mostrada a respectiva mensagem. Note que se nenhuma acima for atendida, então o fluxo cai no default. Observe que há a palavra chave <strong><em>break</em></strong>, que tem a finalidade de encerrar o <strong><em>swtich</em></strong> e seguir a execução dos códigos abaixo do fechamento do bloco do <strong><em>swtich</em></strong>. O <strong><em>break</em></strong> não é obrigatório mas se você não colocar, a cada <strong><em>case</em></strong> será realizado o questionamento da expressão.</p><p>&nbsp;</p><p>&nbsp;</p><p>string linguagem = &quot;cs&quot;;</p><p>switch (linguagem)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; case &quot;vb&quot;:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;vb.net&quot;);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</p><p>&nbsp;&nbsp;&nbsp; case &quot;cs&quot;:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;c sharp&quot;);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</p><p>&nbsp;&nbsp;&nbsp; default:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;outra linguagem&quot;);</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</p><p>}</p><p>&nbsp;</p><p>&nbsp;</p><p>Agora vamos ao uso de loopings. Como o próprio nome diz, looping é um laço o qual pode ser finito ou infinito, depende como programar. O <strong><em>while</em></strong> é um tipo de looping bastante usado o qual tem como finalidade realizar a execução do bloco de código de acordo com a expressão definida no escopo do <strong><em>while</em></strong>. Veja que defini duas variáveis, uma boleana (lógica) chamada <strong><em>cond</em></strong> com o valor <strong><em>true</em></strong>; e a contador do tipo int com valor 50. Veja a sintaxe do <strong><em>while</em></strong> <strong><em>(cond)</em></strong>, ou seja, enquanto verdadeiro. Neste caso, enquanto a variável <strong><em>cond</em></strong> for verdadeira o looping será executado. Por segurança, dentro do bloco do looping, a cada iteração eu fiz uma condição <strong><em>if</em></strong> que avalia se o contador é igual a 60. Caso seja verdadeiro, a variável <strong><em>cond</em></strong> passa a ser <strong><em>false</em></strong> e não próxima execução da iteração, o looping será finalizado. Vale dizer que a cada iteração é mostrado o valor do contador, e também é adicionado um (contador&#43;&#43;) à variável.</p><p>&nbsp;</p><p>bool cond = true;</p><p>int contador = 50;</p><p>while (cond)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; if (contador == 60) cond = false;</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(contador&#43;&#43;);</p><p>}</p><p>&nbsp;</p><p>&nbsp;</p><p>Outro tipo de looping muito usado é o <strong><em>foreach </em></strong>(para cada item), o qual você não precisa dizer quantas iterações terão. Neste exemplo, defini um array de string[] chamado <strong><em>áreas</em></strong> contendo quatro siglas de departamentos. Já no <strong><em>foreach</em></strong> veja que a sintaxe é simples e intuitiva, ou seja, para cada item contido em <strong><em>áreas</em></strong> (coleção de itens) execute o bloco de código.</p><p>O <strong><em>foreach</em></strong> é extensamente utilizado em coleções de dados, leitura de dados em banco de dados, enfim, você não precisa controlar o final pois está encapsulado no <strong><em>foreach</em></strong>, é ele que controla o término.</p><p>&nbsp;</p><p>string[] areas = { &quot;DTI&quot;, &quot;DPE&quot;, &quot;WIN&quot;, &quot;COR&quot; };</p><p>foreach (var item in areas)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(item);</p><p>}</p><p>&nbsp;</p><p>&nbsp;</p><p>Outro tipo de looping muito difundido em todas as linguagens é o <strong><em>for</em></strong>. A sintaxe é simples, mas vamos entendê-la. O <strong><em>int i = 0</em></strong> inicializa a variável <strong><em>i</em></strong> do tipo <strong><em>int</em></strong> com valor 0 (zero). A seguir é definido o limite da execução, neste caso a expressão <strong><em>i &lt; 100 </em></strong>(enquanto <strong><em>i </em></strong>for menor que 100). Para finalizar, o último parâmetro é o contador a cada iteração, neste caso é somado 1 a variável <strong><em>i</em></strong>.</p><p>&nbsp;</p><p>for (int i = 0; i &lt; 100; i&#43;&#43;)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(i);</p><p>}</p><p>&nbsp;</p><p>&nbsp;</p><p><strong>Tratamento de Erros</strong></p><p>&nbsp;</p><p>Tratar erros é uma das coisas mais importantes nas aplicações. Infelizmente nem todo desenvolvedor faz isto e acaba se perdendo completamente, tornando a aplicação não confiável. A estrutura do tratamento é simples, use o try ... catch ... finally.</p><p>Tenha em mente o seguinte: tudo que for código passível de erro coloque no bloco do <strong><em>try</em></strong>. Não importa o que seja, se der erro cairá no <strong><em>catch</em></strong>, e é aqui que você deve tratar o erro. O <strong><em>catch</em></strong> pode ser customizado para tipos definidos de erros, por exemplo, erro de abertura de conexão com banco de dados, divisão por zero, enfim, se você pesquisar pela expressão <strong><em>Exception</em></strong> no help do VS verá quais existem.</p><p>No código a seguir, dentro do <strong><em>try</em></strong> forcei um erro de divisão por zero, e como coloquei um <strong><em>catch</em></strong> para capturar este tipo de erro (<strong><em>DivideByZeroException</em></strong>), é óbvio que será mostrada a mensagem deste <strong><em>catch</em></strong>. Observe que o <strong><em>catch</em></strong> genérico sempre deverá ser usado por último, ou seja, se não cair em nenhum customizado, sobra para o último. A vantagem é que você pode usar uma variável (neste caso <strong><em>ex</em></strong>) para ter acesso às propriedades do erro. Eu usei o <strong><em>ex.Message</em></strong> para mostrar a mensagem de erro do framework.</p><p>E o <strong><em>finally</em></strong>, para que serve? Entend o <strong><em>finally</em></strong> da seguinte forma: dando ou não erro, o <strong><em>finally</em></strong> será executado. Um exemplo simples de uso é nas conexões com banco de dados, dando ou não erro, feche a conexão.</p><p>&nbsp;</p><p>try</p><p>{</p><p>&nbsp;&nbsp;&nbsp; // bloco de codigos</p><p>&nbsp;&nbsp;&nbsp; int valor = 10;</p><p>&nbsp;&nbsp;&nbsp; int zero = 0;</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(valor / zero);</p><p>}</p><p>catch (DivideByZeroException)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Vc nao pode dividir nada por zero&quot;);</p><p>}</p><p>catch (Exception ex)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(ex.Message);</p><p>&nbsp;&nbsp;&nbsp; //throw;</p><p>}</p><p>finally</p><p>{</p><p>&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;mostra o finally&quot;);</p><p>}</p><p>&nbsp;</p><p><strong>Programação Orientada a Objetos</strong></p><p>&nbsp;</p><p>Pensar em .Net é obrigatório saber OOP porque tudo é baseado em OOP.</p><p>O que é um objeto?</p><p>Um objeto é nada mais que uma classe, que pode ter propriedades e métodos. Propriedades da classe são as características e os métodos são as ações. Neste exemplo a seguir defini a classe chamada Jogador contendo 3 propriedades, sendo <em>id, nome e modalidade</em>. Cada propriedade tem um tipo (int, string, double, datetime, etc). Já os métodos desta classe são Salvar e Excluir, os quais não estão implementados, mas são as ações desta classe.</p><p>&nbsp;</p><p>public class Jogador</p><p>{</p><p>&nbsp;&nbsp;&nbsp; // propriedades</p><p>&nbsp;&nbsp;&nbsp; public int id { get; set; }</p><p>&nbsp;&nbsp;&nbsp; public string nome { get; set; }</p><p>&nbsp;&nbsp;&nbsp; public string modalidade { get; set; }</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; // métodos</p><p>&nbsp;&nbsp;&nbsp; public void Salvar() { }</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; public void Excluir() { }</p><p>}</p><p>&nbsp;</p><p>Como instanciar um objeto e preenche-lo? No código a seguir veja como instanciar o objeto/classe Jogador e preencher com as propriedades definidas na classe. Eu usei a palavra chave <strong><em>var</em></strong> porque o C# atribui o tipo de acordo o conteúdo e como no <strong><em>new</em></strong> está setado o Jogador, então, automaticamente a variável <strong><em>obj</em></strong> passa a ser do tipo Jogador. Uma vez finalizado o preenchimento você tem acesso a tudo da classe, desde que seja pública é claro. Neste exemplo, será mostrado o nome do Jogador através da propriedade obj.nome.</p><p>&nbsp;</p><p>var obj = new Jogador</p><p>{</p><p>&nbsp;&nbsp;&nbsp; id = 10,</p><p>&nbsp;&nbsp;&nbsp; nome = &quot;Paulo&quot;,</p><p>&nbsp;&nbsp;&nbsp; modalidade = &quot;xadrez&quot;</p><p>};</p><p>&nbsp;</p><p>Console.WriteLine(obj.nome);</p><p>&nbsp;</p><p><strong>Construtor da classe</strong></p><p>Quando você precisar instanciar uma classe, mas alguma informação deve ser passada logo no início, você pode inserir o campo no construtor da classe. Exemplificando, veja a mesma classe Jogador contendo a propriedade idade. Observe que logo após a declaração da classe é definido o campo <strong><em>idade</em></strong> e no construtor <strong><em>public Jogador (int idade)</em></strong> já é esperado o valor da idade. Neste caso</p><p>&nbsp;</p><p>&nbsp;</p><p>public class Jogador</p><p>{</p><p>&nbsp;&nbsp;&nbsp; public int idade;</p><p>&nbsp;&nbsp;&nbsp; public Jogador(int idade)</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.idade = idade;</p><p>&nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; // propriedades</p><p>&nbsp;&nbsp;&nbsp; public int id { get; set; }</p><p>&nbsp;&nbsp;&nbsp; public string nome { get; set; }</p><p>&nbsp;&nbsp;&nbsp; public string modalidade { get; set; }</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; // métodos</p><p>&nbsp;&nbsp;&nbsp; public void Salvar() { }</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp; public void Excluir() { }</p><p>}</p><p>&nbsp;</p><p>Neste caso, quando instanciar a classe Jogador, a idade deverá ser declarada imediatamente entre parênteses.</p><p>var obj = new Jogador(25)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; id = 10,</p><p>&nbsp;&nbsp;&nbsp; nome = &quot;Paulo&quot;,</p><p>&nbsp;&nbsp;&nbsp; modalidade = &quot;xadrez&quot;</p><p>};</p><p>&nbsp;</p><p>Console.WriteLine(obj.nome);</p><p>&nbsp;</p><p>&nbsp;</p><p><strong>Herança de Classe</strong></p><p>Um dos melhores conceitos que existem no OOP é a herança. Isto permite criar uma classe base e herda-la quando necessário. Na classe base normalmente colocamos propriedades e métodos básicos, genéricos e nas classes que herdam esta, colocamos as particularidades.</p><p>Veja que criei a classe Xadrez e herdei de Jogador. No C# para herdar uma classe use o <strong><em>:</em></strong>. Neste caso, a classe Xadrez tem as propriedades nível e rating. No entanto, veja que o construtor também usa o idade, pois na classe base Jogador, a idade deve ser declarada quando instânciada.</p><p>&nbsp;</p><p>public class Xadrez : Jogador</p><p>{</p><p>&nbsp;&nbsp;&nbsp; public Xadrez(int idade):base(10)</p><p>&nbsp;&nbsp;&nbsp; {</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.idade = idade;</p><p>&nbsp;&nbsp;&nbsp; }</p><p>&nbsp;&nbsp;&nbsp; public string nivel { get; set; }</p><p>&nbsp;&nbsp;&nbsp; public int rating { get; set; }</p><p>}</p><p>&nbsp;</p><p>&nbsp;</p><p>Agora veja como instanciar a classe Xadrez. Observe que as propriedades <em>id, nome e modalidade</em> não existem em Xadrez. Porém, como Xadrez herda de Jogador, você tem acesso a todas estas propriedades de forma transparente. Isto é fantástico, otimiza código, facilita a manutenção e você consegue estender várias funcionalidades.</p><p>&nbsp;</p><p>var objX = new Xadrez(27)</p><p>{</p><p>&nbsp;&nbsp;&nbsp; nivel = &quot;avançado&quot;,</p><p>&nbsp;&nbsp;&nbsp; rating = 10000,</p><p>&nbsp;&nbsp;&nbsp; id = 20,</p><p>&nbsp;&nbsp;&nbsp; nome = &quot;Alvaro&quot;,</p><p>&nbsp;&nbsp;&nbsp; modalidade = &quot;xadrez&quot;</p><p>};</p><p>Console.WriteLine(objX.rating);</p><p>&nbsp;</p><p>Vale dizer que todas as propriedades e métodos vistos aqui são públicos (<strong><em>public</em></strong>). Caso queira que uma propriedade seja vista apenas de dentro da classe, use <strong><em>private</em></strong> ou <strong><em>protected</em></strong>. Isto vale para métodos também.</p><p>&nbsp;</p><h2>Sobre o Autor</h2><p>Renato Haddad (<a href="">rehaddad@msn.com</a>&nbsp; – <a href="http://www.renatohaddad.com">www.renatohaddad.com</a> ) é MVP, MCT, MCPD e MCTS, palestrante em eventos da Microsoft em diversos países, ministra treinamentos focados em produtividade com o VS.NET 2010, ASP.NET 4, Entity Framework, Reporting Services e Windows Phone. Visite o blog <a href="http://weblogs.asp.net/renatohaddad">http://weblogs.asp.net/renatohaddad</a>.</p><p>&nbsp;</p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:e7b78f5e98574c5586baa01a00d012e6">]]></description>
      <comments>http://channel9.msdn.com/posts/Fundamentos-do-Desenvolvimento-de-Software</comments>
      <itunes:summary>Fundamentos do Desenvolvimento de SoftwareRenato Haddad Microsoft Most Valuable Professional MVP, MCT, MCPD e MCTS TecnologiasVisual Studio .NET 2010, C# &amp;nbsp; Introdu&#231;&#227;oNeste artigo irei abordar alguns t&#243;picos b&#225;sicos que todo desenvolvedor deve saber. A pedidos, os t&#243;picos ser&#227;o b&#225;sicos porque este artigo faz parte do programa Microsoft Academy Awards, M&#243;dulo Estruturas de decis&#227;o e repeti&#231;&#227;o e Programa&#231;&#227;o Orientada a Objeto – OOP. &amp;nbsp; Decidi usar a linguagem Visual C# simplesmente porque a maioria dos exemplos encontrados na web usam C#. Neste artigo abordarei as estruturas de decis&#245;es e repeti&#231;&#245;es, programa&#231;&#227;o orientada a objetos, como criar uma classe, adicionar propriedades, m&#233;todos e um construtor. Para finalizar, como herdar uma classe e as vantagens. &amp;nbsp; Estruturas de decis&#245;es  Toda aplica&#231;&#227;o que precise de um direcionamento do fluxo de execu&#231;&#227;o dos c&#243;digos, utiliza os comandos de condi&#231;&#245;es, os quais t&#234;m como objetivo avaliar uma condi&#231;&#227;o e conforme o resultado, direcionar o fluxo para uma opera&#231;&#227;o, seja ela um bloco de c&#243;digos, uma fun&#231;&#227;o, etc. &amp;nbsp; O primeiro e o mais conhecido &#233; o if (se). Sua sintaxe &#233;: &amp;nbsp; If ( condi&#231;&#227;o ) ... else / else if ( condi&#231;&#227;o ) &amp;nbsp; Basicamente a condi&#231;&#227;o pode ser uma express&#227;o l&#243;gica ou relacional. No exemplo a seguir &#233; definida a vari&#225;vel idade com valor 12 e o if avalia se a idade &#233; maior ou igual a 18. Caso seja verdadeiro, ent&#227;o ser&#225; mostrada a mensagem &amp;quot;Maior de idade&amp;quot;. Neste caso, h&#225; apenas uma instru&#231;&#227;o a ser executada. &amp;nbsp; var idade = 12; if (idade &amp;gt;= 18) Console.WriteLine(&amp;quot;Maior de idade&amp;quot;); &amp;nbsp; J&#225; no pr&#243;ximo exemplo note que dependendo da condi&#231;&#227;o h&#225; um bloco de c&#243;digo a ser executado, sendo que o mesmo dever&#225; estar entre chave {}. Neste caso, se a idade for maior ou igual a 18, ent&#227;o, ser&#225; mostrada a mensagem &amp;quot;respons&#225;vel&amp;quot;, a idade ser&#225; somada mais 2 anos, ou seja o resultado final &#233; 14, e ao final, ser&#225; mostrado o valor da vari&#225;vel j&#225; com o novo valor. Note que n</itunes:summary>
      <link>http://channel9.msdn.com/posts/Fundamentos-do-Desenvolvimento-de-Software</link>
      <pubDate>Tue, 20 Mar 2012 12:38:00 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Fundamentos-do-Desenvolvimento-de-Software</guid>      
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>424</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Fundamentos-do-Desenvolvimento-de-Software/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
    </item>
  <item>
      <title>Aplica&#231;&#245;es Desktop</title>
      <description><![CDATA[<p>Renato Haddad <br>Microsoft Most Valuable Professional<br><a href="http://www.renatohaddad.com">http://www.renatohaddad.com</a></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:63a1a473538647238f31a0190109b0f4">]]></description>
      <comments>http://channel9.msdn.com/posts/Aplicaes-Desktop</comments>
      <itunes:summary>Renato Haddad Microsoft Most Valuable Professionalhttp://www.renatohaddad.com </itunes:summary>
      <itunes:duration>484</itunes:duration>
      <link>http://channel9.msdn.com/posts/Aplicaes-Desktop</link>
      <pubDate>Mon, 19 Mar 2012 17:31:24 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Aplicaes-Desktop</guid>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_100_ch9.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_220_ch9.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_512_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_custom_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_2MB_ch9.wmv" expression="full" duration="484" fileSize="11219646" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_ch9.mp3" expression="full" duration="484" fileSize="3875253" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_ch9.webm" expression="full" duration="484" fileSize="18253505" type="video/webm" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_ch9.wma" expression="full" duration="484" fileSize="3931205" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_ch9.wmv" expression="full" duration="484" fileSize="17688336" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_high_ch9.mp4" expression="full" duration="484" fileSize="75860097" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_low_ch9.mp4" expression="full" duration="484" fileSize="8105789" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_med_ch9.mp4" expression="full" duration="484" fileSize="58860771" type="video/mp4" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01.ism/manifest" expression="full" duration="484" fileSize="6070" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ak.channel9.msdn.com/ch9/b0f4/63a1a473-5386-4723-8f31-a0190109b0f4/04x01_ch9.wmv" length="17688336" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>14</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Aplicaes-Desktop/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
    </item>
  <item>
      <title>Banco de dados - parte 4</title>
      <description><![CDATA[<p>Renato Haddad <br>Microsoft Most Valuable Professional <br><a href="http://www.renatohaddad.com">http://www.renatohaddad.com</a></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:ff1178b30e3a49b98725a01900f10186">]]></description>
      <comments>http://channel9.msdn.com/posts/Banco-de-dados-parte-4</comments>
      <itunes:summary>Renato Haddad Microsoft Most Valuable Professional http://www.renatohaddad.com </itunes:summary>
      <itunes:duration>387</itunes:duration>
      <link>http://channel9.msdn.com/posts/Banco-de-dados-parte-4</link>
      <pubDate>Mon, 19 Mar 2012 17:31:15 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Banco-de-dados-parte-4</guid>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_100_ch9.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_220_ch9.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_512_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_custom_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_2MB_ch9.wmv" expression="full" duration="387" fileSize="11011128" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_ch9.mp3" expression="full" duration="387" fileSize="3101414" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_ch9.webm" expression="full" duration="387" fileSize="15406755" type="video/webm" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_ch9.wma" expression="full" duration="387" fileSize="3150165" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_ch9.wmv" expression="full" duration="387" fileSize="16055754" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_high_ch9.mp4" expression="full" duration="387" fileSize="62528299" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_low_ch9.mp4" expression="full" duration="387" fileSize="6976877" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_med_ch9.mp4" expression="full" duration="387" fileSize="47954004" type="video/mp4" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04.ism/manifest" expression="full" duration="387" fileSize="6070" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ak.channel9.msdn.com/ch9/0186/ff1178b3-0e3a-49b9-8725-a01900f10186/03x04_ch9.wmv" length="16055754" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>19</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Banco-de-dados-parte-4/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
    </item>
  <item>
      <title>Banco de dados - parte 3</title>
      <description><![CDATA[<p>Renato Haddad <br>Microsoft Most Valuable Professional<br><a href="http://www.renatohaddad.com">http://www.renatohaddad.com</a></p> <img src="http://m.webtrends.com/dcs1wotjh10000w0irc493s0e_6x1g/njs.gif?dcssip=channel9.msdn.com&dcsuri=http://channel9.msdn.com/Niners/Caverna/Posts/RSS&WT.dl=0&WT.entryid=Entry:RSSView:e97df1dc311448a8877aa01900f0cf13">]]></description>
      <comments>http://channel9.msdn.com/posts/Banco-de-dados-parte-3</comments>
      <itunes:summary>Renato Haddad Microsoft Most Valuable Professionalhttp://www.renatohaddad.com </itunes:summary>
      <itunes:duration>263</itunes:duration>
      <link>http://channel9.msdn.com/posts/Banco-de-dados-parte-3</link>
      <pubDate>Mon, 19 Mar 2012 17:31:06 GMT</pubDate>
      <guid isPermaLink="false">http://channel9.msdn.com/posts/Banco-de-dados-parte-3</guid>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_100_ch9.jpg" height="75" width="100"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_220_ch9.jpg" height="165" width="220"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_512_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:thumbnail url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_custom_ch9.jpg" height="384" width="512"></media:thumbnail>
      <media:group>
        <media:content url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_2MB_ch9.wmv" expression="full" duration="263" fileSize="6445894" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_ch9.mp3" expression="full" duration="263" fileSize="2105626" type="audio/mp3" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_ch9.webm" expression="full" duration="263" fileSize="10486336" type="video/webm" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_ch9.wma" expression="full" duration="263" fileSize="2143825" type="audio/x-ms-wma" medium="audio"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_ch9.wmv" expression="full" duration="263" fileSize="10439004" type="video/x-ms-wmv" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_high_ch9.mp4" expression="full" duration="263" fileSize="41903233" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_low_ch9.mp4" expression="full" duration="263" fileSize="4593026" type="video/mp4" medium="video"></media:content>
        <media:content url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_med_ch9.mp4" expression="full" duration="263" fileSize="32224816" type="video/mp4" medium="video"></media:content>
        <media:content url="http://smooth.ch9.ms/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03.ism/manifest" expression="full" duration="263" fileSize="6070" type="video/x-ms-wmv" medium="video"></media:content>
      </media:group>      
      <enclosure url="http://ak.channel9.msdn.com/ch9/cf13/e97df1dc-3114-48a8-877a-a01900f0cf13/03x03_ch9.wmv" length="10439004" type="video/x-ms-wmv"></enclosure>
      <dc:creator>Fernando Martin</dc:creator>
      <itunes:author>Fernando Martin</itunes:author>
      <slash:comments>25</slash:comments>
      <wfw:commentRss>http://channel9.msdn.com/posts/Banco-de-dados-parte-3/rss</wfw:commentRss>
      <category>Brazilian Portuguese</category>
    </item>    
</channel>
</rss>