<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Ricardo Serradas &#187; Desenvolvimento</title>
	<atom:link href="http://blog.ricardoserradas.net/tag/desenvolvimento/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ricardoserradas.net</link>
	<description>Visual Studio ALM in a nutshell</description>
	<lastBuildDate>Fri, 12 Nov 2010 13:25:20 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.ricardoserradas.net' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Ricardo Serradas &#187; Desenvolvimento</title>
		<link>http://blog.ricardoserradas.net</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.ricardoserradas.net/osd.xml" title="Ricardo Serradas" />
	<atom:link rel='hub' href='http://blog.ricardoserradas.net/?pushpress=hub'/>
		<item>
		<title>Curso de forma&#231;&#227;o em .Net&#8211;Stefanini</title>
		<link>http://blog.ricardoserradas.net/2010/11/12/curso-de-formao-em-netstefanini/</link>
		<comments>http://blog.ricardoserradas.net/2010/11/12/curso-de-formao-em-netstefanini/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 13:25:20 +0000</pubDate>
		<dc:creator>Ricardo Serradas</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Curso]]></category>

		<guid isPermaLink="false">https://ricardoserradas.wordpress.com/2010/11/12/curso-de-formao-em-netstefanini/</guid>
		<description><![CDATA[Olá a todos, Ontem teve fim uma experiência muito bacana que tive aqui na Stefanini: assumi, com apoio do time de arquitetura (Raphael Nascimento – @raPHaelrn, Felipe Castro – @felipec_castro e Victor Cavalcante – @vcavalcante), uma turma de formação de profissionais de análise e desenvolvimento na plataforma .Net. A idéia era captar talentos do mercado [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.ricardoserradas.net&amp;blog=9548763&amp;post=263&amp;subd=ricardoserradas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá a todos,</p>
<p>Ontem teve fim uma experiência muito bacana que tive aqui na Stefanini: assumi, com apoio do time de arquitetura (Raphael Nascimento – @raPHaelrn, Felipe Castro – @felipec_castro e Victor Cavalcante – @vcavalcante), uma turma de formação de profissionais de análise e desenvolvimento na plataforma .Net.</p>
<p>A idéia era captar talentos do mercado e disseminar os conhecimentos e cultura do SDC (Software Delivery Center da Stefanini). Estudantes do 1º ao 3º semestre (se não me engano, estou certo moçada?).</p>
<p>Durante o curso, falamos de orientação à objeto, orientação à eventos, banco de dados, entre outras coisas&#8230; Desenvolvemos uma calculadora, um cadastro simples e por fim um “Bank line”. Foi tudo bem legal, eu curti muito a experiência e espero que, os que ainda posso chamar de “meus alunos”, também tenham gostado e que tenham suas expectativas atingidas.</p>
<p>Algo bem legal que posso contar é que eu costumava dizer que eu estava ensinando a eles “como não fazer” algumas coisas. Claro, com o objetivo de que eles buscassem estudar sobre qual seria a forma correta de chegar ao mesmo objetivo, que fossem atrás. O @vcavalcante fazia até algumas participações especiais nas aulas, chegando de surpresa e dizendo “É isso aí que ele está ensinando pra vocês? Está tudo errado!” – É claro que nestas aulas eu falava de HTML, JavaScript, ASP.Net WebForms <img style="border-style:none;" class="wlEmoticon wlEmoticon-smilewithtongueout" alt="Smile with tongue out" src="http://ricardoserradas.files.wordpress.com/2010/11/wlemoticon-smilewithtongueout.png?w=700" /></p>
<p>Abaixo, algumas fotos do último dia de aula. (Clique para ampliar)</p>
<p><a href="http://ricardoserradas.files.wordpress.com/2010/11/dsc01615.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0 5px;" title="DSC01615" border="0" alt="DSC01615" src="http://ricardoserradas.files.wordpress.com/2010/11/dsc01615_thumb.jpg?w=244&#038;h=139" width="244" height="139" /></a><a href="http://ricardoserradas.files.wordpress.com/2010/11/dsc01620.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0 5px;" title="DSC01620" border="0" alt="DSC01620" src="http://ricardoserradas.files.wordpress.com/2010/11/dsc01620_thumb.jpg?w=244&#038;h=139" width="244" height="139" /></a></p>
<p>Espero vê-los novamente num futuro próximo! Sucesso à todos e “ganbatte” *.</p>
<p><font size="1">*Do japonês: Do your best, go for it (esforce-se, dê seu melhor)</font></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ricardoserradas.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ricardoserradas.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ricardoserradas.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ricardoserradas.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ricardoserradas.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ricardoserradas.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ricardoserradas.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ricardoserradas.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ricardoserradas.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ricardoserradas.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ricardoserradas.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ricardoserradas.wordpress.com/263/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ricardoserradas.wordpress.com/263/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ricardoserradas.wordpress.com/263/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.ricardoserradas.net&amp;blog=9548763&amp;post=263&amp;subd=ricardoserradas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.ricardoserradas.net/2010/11/12/curso-de-formao-em-netstefanini/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06b58a0e94f42dbfd9f30ef9046f1807?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Serradas</media:title>
		</media:content>

		<media:content url="http://ricardoserradas.files.wordpress.com/2010/11/wlemoticon-smilewithtongueout.png" medium="image">
			<media:title type="html">Smile with tongue out</media:title>
		</media:content>

		<media:content url="http://ricardoserradas.files.wordpress.com/2010/11/dsc01615_thumb.jpg" medium="image">
			<media:title type="html">DSC01615</media:title>
		</media:content>

		<media:content url="http://ricardoserradas.files.wordpress.com/2010/11/dsc01620_thumb.jpg" medium="image">
			<media:title type="html">DSC01620</media:title>
		</media:content>
	</item>
		<item>
		<title>LINQ To Entities e o método Contains, um contorno</title>
		<link>http://blog.ricardoserradas.net/2010/01/08/linq-to-entities-e-o-metodo-contains-um-contorno/</link>
		<comments>http://blog.ricardoserradas.net/2010/01/08/linq-to-entities-e-o-metodo-contains-um-contorno/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 03:40:55 +0000</pubDate>
		<dc:creator>Ricardo Serradas</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Problema e Solução]]></category>
		<category><![CDATA[LINQ]]></category>

		<guid isPermaLink="false">http://blog.ricardoserradas.net/?p=115</guid>
		<description><![CDATA[Olá a todos, Depois de muito tempo, volto a escrever. Tem sido uma dura correria que me impossibilitou de dar atenção a este valioso espaço. Porém, mais uma vez, prometo tentar reservar um pouco do meu tempo para enriquecer o conteúdo desta página. Volto hoje com um assunto que não costumo discutir aqui no blog, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.ricardoserradas.net&amp;blog=9548763&amp;post=115&amp;subd=ricardoserradas&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá a todos,</p>
<p>Depois de muito tempo, volto a escrever. Tem sido uma dura correria que me impossibilitou de dar atenção a este valioso espaço. Porém, mais uma vez, prometo tentar reservar um pouco do meu tempo para enriquecer o conteúdo desta página.</p>
<p>Volto hoje com um assunto que não costumo discutir aqui no blog, que é codificação.</p>
<p>Ultimamente tenho ocupado quase que todo o meu tempo com estudos e discussões sobre a melhor forma de codificar algo. Um problema que encontrei dias atrás foi uma limitação do LINQ To Entities, que não implementou um método mapeado para a função <strong>&#8220;IN&#8221;</strong> do SQL. Um exemplo: quero obter todos os usuários do banco cujo ID é um dos números da sequência mística do seriado <em>LOST</em>, que é: 4, 8, 15, 16, 23, 42. A query SQL seria:</p>
<pre><span style="color:#993300;">SELECT * FROM USER U WHERE U.ID IN (4, 8, 15, 16, 23, 42)</span></pre>
<p> </p>
<p>Em tese, uma expressão LINQ para fazer a mesma coisa seria mais ou menos assim:</p>
<p>string[] ids = { &#8220;4&#8243;, &#8220;8&#8243;, &#8220;15&#8243;, &#8220;16&#8243;, &#8220;23&#8243;, &#8220;42&#8243; };</p>
<pre><span style="color:#0000ff;">var </span>users = (<span style="color:#0000ff;">from</span> t <span style="color:#0000ff;">in</span> _db.<span style="color:#339966;">User </span><span style="color:#0000ff;">where</span> ids.Contains(t.Id.ToString()) <span style="color:#0000ff;">select</span> t).ToList();</pre>
<p> </p>
<p>Em tempo de compilação, tudo certo. Porém, ao executar este código, você receberá esta mensagem de erro:</p>
<pre>LINQ to Entities does not recognize the method 'Boolean Contains(Int32)'</pre>
<p> </p>
<p>É possível estender as bibliotecas do LINQ para mapear a função, criar uma função ultra-complicada para fazer isso, mas há uma maneira de resolver com uma linha de código, que é:</p>
<pre><span style="color:#0000ff;">var</span> users = _db.<span style="color:#339966;">User</span>.Where("it.Id IN {" + <span style="color:#0000ff;">string</span>.Join(",", ids) + "}");</pre>
<p> </p>
<p>Atenção para a palavra chave “it”, ela representa sua entidade na query. Logo, Id é a propriedade.</p>
<p>Experimente!</p>
<p>[]&#8216;s</p>
<p>Ricardo Serradas</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ricardoserradas.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ricardoserradas.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ricardoserradas.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ricardoserradas.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ricardoserradas.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ricardoserradas.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ricardoserradas.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ricardoserradas.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ricardoserradas.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ricardoserradas.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ricardoserradas.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ricardoserradas.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ricardoserradas.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ricardoserradas.wordpress.com/115/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.ricardoserradas.net&amp;blog=9548763&amp;post=115&amp;subd=ricardoserradas&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.ricardoserradas.net/2010/01/08/linq-to-entities-e-o-metodo-contains-um-contorno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/06b58a0e94f42dbfd9f30ef9046f1807?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Serradas</media:title>
		</media:content>
	</item>
	</channel>
</rss>
