<?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/"
	>

<channel>
	<title>Diário de Códigos &#187; SubSonic</title>
	<atom:link href="http://diariodecodigos.info/category/net/subsonic/feed/" rel="self" type="application/rss+xml" />
	<link>http://diariodecodigos.info</link>
	<description>Codigos Fonte, Artigos e Dicas</description>
	<lastBuildDate>Wed, 11 Apr 2012 18:56:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Acessando Multiplas Bases de Dados com Subsonic</title>
		<link>http://diariodecodigos.info/2009/08/acessando-multiplas-bases-de-dados-com-subsonic/</link>
		<comments>http://diariodecodigos.info/2009/08/acessando-multiplas-bases-de-dados-com-subsonic/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 20:08:21 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[SubSonic]]></category>
		<category><![CDATA[multiples data base]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=310</guid>
		<description><![CDATA[Esta implicito que ja temos um banco funcionando&#8230; 1º Criamos 2 Connection Strings e 2 provedores &#60;connectionStrings&#62; &#60;clear/&#62; &#60;add name=&#34;localhostcs&#34; connectionString=&#34;SERVER=&#60;server&#62;;DATABASE=&#60;banco&#62;;UID=user;PASSWORD=pass;&#34;/&#62; &#60;add name=&#34;LivrariaDB&#34; connectionString=&#34;SERVER=&#60;server&#62;;DATABASE=&#60;banco&#62;;UID=user;PASSWORD=pass;&#34;/&#62; &#60;/connectionStrings&#62; &#60;SubSonicService enableTrace=&#34;false&#34; defaultProvider=&#34;localhost&#34; templateDirectory=&#34;&#34;&#62; &#60;providers&#62; &#60;clear/&#62; &#60;add name=&#34;localhost&#34; type=&#34;SubSonic.MySqlDataProvider, SubSonic&#34; connectionStringName=&#34;localhostcs&#34; generatedNamespace=&#34;VendasDeFichas&#34;/&#62; &#60;add name=&#34;LivrariaDB&#34; type=&#34;SubSonic.MySqlDataProvider, SubSonic&#34; connectionStringName=&#34;LivrariaDB&#34; generatedNamespace=&#34;LivrariaDB&#34;/&#62; &#60;/providers&#62; &#60;/SubSonicService&#62; 2º Usando Query query1 = new Query(&#34;livros&#34;, &#34;LivrariaDB&#34;); DataSet ds]]></description>
			<content:encoded><![CDATA[<p>Esta implicito que ja temos um banco funcionando&#8230;</p>
<p>1º Criamos 2 Connection Strings e 2 provedores</p>
<p><span id="more-310"></span></p>
<pre class="brush: xml;">

&lt;connectionStrings&gt;
 &lt;clear/&gt;
 &lt;add name=&quot;localhostcs&quot; connectionString=&quot;SERVER=&lt;server&gt;;DATABASE=&lt;banco&gt;;UID=user;PASSWORD=pass;&quot;/&gt;
 &lt;add name=&quot;LivrariaDB&quot; connectionString=&quot;SERVER=&lt;server&gt;;DATABASE=&lt;banco&gt;;UID=user;PASSWORD=pass;&quot;/&gt;
 &lt;/connectionStrings&gt;

 &lt;SubSonicService enableTrace=&quot;false&quot; defaultProvider=&quot;localhost&quot; templateDirectory=&quot;&quot;&gt;
 &lt;providers&gt;
 &lt;clear/&gt;
 &lt;add name=&quot;localhost&quot; type=&quot;SubSonic.MySqlDataProvider, SubSonic&quot; connectionStringName=&quot;localhostcs&quot; generatedNamespace=&quot;VendasDeFichas&quot;/&gt;
 &lt;add name=&quot;LivrariaDB&quot; type=&quot;SubSonic.MySqlDataProvider, SubSonic&quot; connectionStringName=&quot;LivrariaDB&quot; generatedNamespace=&quot;LivrariaDB&quot;/&gt;
 &lt;/providers&gt;
 &lt;/SubSonicService&gt;
</pre>
<p>2º Usando</p>
<pre class="brush: csharp;">

Query query1 = new Query(&quot;livros&quot;, &quot;LivrariaDB&quot;);

 DataSet ds = query1.ExecuteDataSet();
 this.dataGridView1.DataSource = ds.Tables[0];
 this.dataGridView1.Refresh();
</pre>
<p>Edit: agosto 04Etc/GMT+2 2009 às 17:32</p>
<p>Pode ser assim também:</p>
<pre class="brush: csharp;">

using (var scope = new SharedDbConnectionScope(&lt;connection String aki&gt;))
                {
                    SqlQuery qry = new Delete().From&lt;Editora&gt;().Where(&quot;CodEditora&quot;).IsEqualTo(cod);
                    var results = qry.Execute();
                    return &quot;Fornecedor deletado com sucesso.&quot;;
                }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/08/acessando-multiplas-bases-de-dados-com-subsonic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pegando Objetos do Banco de Dados</title>
		<link>http://diariodecodigos.info/2009/07/pegando-objeto-do-banco/</link>
		<comments>http://diariodecodigos.info/2009/07/pegando-objeto-do-banco/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 19:31:17 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[SubSonic]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=215</guid>
		<description><![CDATA[Uma das coisas que eu gosto no Subsonic é que ele pode me retornar um objeto passando apenas o codigo do mesmo&#8230; entenda-se objeto uma instancia de uma classe com todos os seus atributos e etc&#8230; public Cliente pegaClientePeloCpf(String cpf) { return new SubSonic.Select().From&#60;Cliente&#62;().WhereExpression(&#34;cpf&#34;).IsEqualTo(cpf).ExecuteSingle&#60;Cliente&#62;(); } no exemplo acima eu retorno o objeto Cliente que tem]]></description>
			<content:encoded><![CDATA[<p>Uma das coisas que eu gosto no Subsonic é que ele pode me retornar um objeto passando apenas o codigo do mesmo&#8230; </p>
<p><span id="more-215"></span></p>
<p><em>entenda-se objeto uma instancia de uma classe com todos os seus atributos e etc&#8230;</em></p>
<pre class="brush: csharp;">
public Cliente pegaClientePeloCpf(String cpf)
        {
            return new SubSonic.Select().From&lt;Cliente&gt;().WhereExpression(&quot;cpf&quot;).IsEqualTo(cpf).ExecuteSingle&lt;Cliente&gt;();
        }
</pre>
<p>no exemplo acima eu retorno o objeto Cliente que tem o cpf que eu quero&#8230;</p>
<p>PS. deveria ter um try, catch ali&#8230;</p>
<p>Simples assim&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/07/pegando-objeto-do-banco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gerando Classes do banco com o Subsonic</title>
		<link>http://diariodecodigos.info/2009/07/gerando-classes-do-banco-com-o-subsonic/</link>
		<comments>http://diariodecodigos.info/2009/07/gerando-classes-do-banco-com-o-subsonic/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 19:25:15 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[SubSonic]]></category>
		<category><![CDATA[Iniciando]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=213</guid>
		<description><![CDATA[Bom pessoal continuando o tutorial que iniciei semana passada, agora vamos ver como fazer as classes das nossas tabelas do nosso banco de dados. File>New>Project>Class Library Colocamos akela app.config que foi usada no tutorial anterior&#8230; agora vamos em: Tools> Subsonic DAL se tudo ocorrer bem vai ser gerada uma pasta com o nome Generated agora]]></description>
			<content:encoded><![CDATA[<p>Bom pessoal continuando o tutorial que iniciei semana passada, agora vamos ver como fazer as classes das nossas tabelas do nosso banco de dados.</p>
<p><span id="more-213"></span></p>
<p>File>New>Project>Class Library <nome que vc quiser></p>
<p>Colocamos akela app.config que foi usada no tutorial anterior&#8230; </p>
<p>agora vamos em:</p>
<p>Tools> Subsonic DAL</p>
<p>se tudo ocorrer bem vai ser gerada uma pasta com o nome Generated</p>
<p>agora é so dar build e usar a dll gerada&#8230; </p>
<p>Simples assim&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/07/gerando-classes-do-banco-com-o-subsonic/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalando o Subsonic</title>
		<link>http://diariodecodigos.info/2009/07/instalando-o-subsonic/</link>
		<comments>http://diariodecodigos.info/2009/07/instalando-o-subsonic/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 13:36:15 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[SubSonic]]></category>
		<category><![CDATA[instalação]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=164</guid>
		<description><![CDATA[Como estou falando muito sobre o subsonic resolvi fazer um tuto para podermos iniciar o desenvolvimento com o mesmo.]]></description>
			<content:encoded><![CDATA[<p>Como estou falando muito sobre o subsonic resolvi fazer um tuto para podermos iniciar o desenvolvimento com o mesmo:</p>
<p><span id="more-164"></span></p>
<p>1º Baixar o Subsonic http://www.subsonicproject.com/<br />
PS. eu estou usando a versão 2.1 já existe a 3 mas nao gostei portanto esse tuto é para a versão 2.1</p>
<p>2º Colocar na referencia System.configuration, System.web, Subsonic e O do banco utilizado no meu caso MySql</p>
<p>3º o App.config</p>
<pre class="brush: xml;">

&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;configuration&gt;
  &lt;configSections&gt;
    &lt;section name=&quot;SubSonicService&quot; type=&quot;SubSonic.SubSonicSection, SubSonic&quot; requirePermission=&quot;false&quot; /&gt;
  &lt;/configSections&gt;
  &lt;appSettings&gt;
    &lt;add key=&quot;ClientSettingsProvider.ServiceUri&quot; value=&quot;&quot; /&gt;
  &lt;/appSettings&gt;

  &lt;connectionStrings&gt;
    &lt;clear /&gt;
    &lt;add name=&quot;NOMECS&quot; connectionString=&quot;SERVER=&lt;IP&gt;;DATABASE=&lt;DB&gt;;UID=&lt;USER&gt;;PASSWORD=&lt;SENHA&gt;;&quot; /&gt;
  &lt;/connectionStrings&gt;

  &lt;SubSonicService defaultProvider=&quot;UM NOME&quot;&gt;
    &lt;providers&gt;
      &lt;clear /&gt;
      &lt;add name=&quot;localhost&quot; type=&quot;SubSonic.MySqlDataProvider,
 SubSonic&quot; connectionStringName=&quot;NOMECS&quot; generatedNamespace=&quot;VendasDeFichas&quot; /&gt;
    &lt;/providers&gt;
  &lt;/SubSonicService&gt;

  &lt;system.web&gt;
    &lt;membership defaultProvider=&quot;ClientAuthenticationMembershipProvider&quot;&gt;
      &lt;providers&gt;
        &lt;add name=&quot;ClientAuthenticationMembershipProvider&quot; type=&quot;System.Web.ClientServices.Providers
.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; serviceUri=&quot;&quot; /&gt;
      &lt;/providers&gt;
    &lt;/membership&gt;
    &lt;roleManager defaultProvider=&quot;ClientRoleProvider&quot; enabled=&quot;true&quot;&gt;
      &lt;providers&gt;
        &lt;add name=&quot;ClientRoleProvider&quot; type=&quot;System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot; serviceUri=&quot;&quot; cacheTimeout=&quot;86400&quot; /&gt;
      &lt;/providers&gt;
    &lt;/roleManager&gt;
  &lt;/system.web&gt;
&lt;/configuration&gt;
</pre>
<p>4° Instalar o subsonic&#8230; logo apos abrir o VS:<br />
Tools>External Tools<br />
      Add<br />
           Title:&#038;SubSonic DAL<br />
           Command:  C:\Arquivos de programas\SubSonic\SubSonic 2.1 Final\SubCommander\sonic.exe<br />
            Arguments: generate /out Generated<br />
            Initial directory: $(ProjectDir)<br />
            Marcar > Use Output Window</p>
<p>OK ja instalamos o subsonic no VS&#8230; agora vamos trabalhar&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/07/instalando-o-subsonic/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Fazer Update Com Subsonic</title>
		<link>http://diariodecodigos.info/2009/07/fazer-update-com-subsonic/</link>
		<comments>http://diariodecodigos.info/2009/07/fazer-update-com-subsonic/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 17:46:05 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[SubSonic]]></category>
		<category><![CDATA[C# Linguagem]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=124</guid>
		<description><![CDATA[Para podremos fazer um update em um objeto usando o subsonic usamos a seguinte sintaxe: Ficha rf = new Ficha(); rf.MarkOld(); //mostra que ele é um objeto que ja existe no banco rf.IsLoaded = true; //aki vc define se vc pegou ele do banco ou nao rf.Idfichas = idFichas;//se vc nao pegou no banco! rf.Qtn]]></description>
			<content:encoded><![CDATA[<p>Para podremos fazer um update em um objeto usando o subsonic usamos a seguinte sintaxe:</p>
<pre class="brush: csharp;">
Ficha rf = new Ficha();
rf.MarkOld(); //mostra que ele é um objeto que ja existe no banco
rf.IsLoaded = true; //aki vc define se vc pegou ele do banco ou nao
rf.Idfichas = idFichas;//se vc nao pegou no banco!
rf.Qtn = quantidade;
rf.Save(); //salvar =D
</pre>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/07/fazer-update-com-subsonic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agregação com Subsonic</title>
		<link>http://diariodecodigos.info/2009/07/agregacao-com-subsonic/</link>
		<comments>http://diariodecodigos.info/2009/07/agregacao-com-subsonic/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 11:50:00 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[SubSonic]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://diariodecodigos.wordpress.com/2009/07/14/agregacao-com-subsonic/</guid>
		<description><![CDATA[Como usar funções de agregação, usando o subsonic&#8230; é facil&#8230; Somatorio (SUM) new SubSonic.Select(SubSonic.Aggregate.Sum(&#34;COLUNA&#34;)).From(&#34;TABELA&#34;) .WhereExpression(&#34;COMPARAÇÃO&#34;).IsEqualTo(&#34;COMPARAÇÃO&#34;).ExecuteScalar(); //vai retornar um Objeto do TIPO que vc escolheu Contador (Count(*)) new SubSonic.Select(SubSonic.Aggregate.Count(&#34;COLUNA&#34;)) .From(&#34;TABELA1&#34;).WhereExpression(&#34;COMPARAÇÃO&#34;) .IsEqualTo(&#34;COMPARAÇÃO&#34;). ExecuteScalar();//vai retornar um Objeto do TIPO que vc escolheu Existem muitos outros&#8230; é só se aprofundar&#8230; PS: NÃO Existe só essa forma de se fazer]]></description>
			<content:encoded><![CDATA[<p>Como usar funções de agregação, usando o subsonic&#8230;</p>
<p>é facil&#8230;</p>
<p>Somatorio (SUM)</p>
<pre class="brush: csharp;">
new SubSonic.Select(SubSonic.Aggregate.Sum(&quot;COLUNA&quot;)).From(&quot;TABELA&quot;)
.WhereExpression(&quot;COMPARAÇÃO&quot;).IsEqualTo(&quot;COMPARAÇÃO&quot;).ExecuteScalar();
//vai retornar um Objeto do TIPO que vc escolheu
</pre>
<p><span id="more-28"></span></p>
<p>Contador (Count(*))</p>
<pre class="brush: csharp;">new SubSonic.Select(SubSonic.Aggregate.Count(&quot;COLUNA&quot;))
.From(&quot;TABELA1&quot;).WhereExpression(&quot;COMPARAÇÃO&quot;)
.IsEqualTo(&quot;COMPARAÇÃO&quot;).
ExecuteScalar();//vai retornar um Objeto do TIPO que vc escolheu
</pre>
<p>Existem muitos outros&#8230; é só se aprofundar&#8230;</p>
<p><span style="font-size:78%;"><br />
<span style="font-family:courier new;font-weight:bold;">PS: NÃO Existe só essa forma de se fazer isso, eu faço assim&#8230; existem 1 bilhão de formas de fazer esse mesmo caso&#8230; menores, maiores, mais bonitas, mais feias, mais inteligentes, menos inteligentes&#8230;</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/07/agregacao-com-subsonic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Criar XML com Subsonic</title>
		<link>http://diariodecodigos.info/2009/06/criar-xml-com-subsonic/</link>
		<comments>http://diariodecodigos.info/2009/06/criar-xml-com-subsonic/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 13:29:00 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[SubSonic]]></category>

		<guid isPermaLink="false">http://diariodecodigos.wordpress.com/2009/06/22/criar-xml-com-subsonic/</guid>
		<description><![CDATA[private DataSet gravarXML(string arq) { DataSet ds = new SubSonic.Select(&#34;nome&#34;, &#34;qnt&#34;, &#34;data_v&#34;).From(&#34;clientes&#34;).InnerJoin(&#34;vendas&#34;, &#34;idcliente&#34;, &#34;clientes&#34;, &#34;idclientes&#34;).WhereExpression(&#34;data_v&#34;).IsBetweenAnd(data1, data2).OrderAsc(&#34;data_v&#34;).ExecuteDataSet(); ds.WriteXml(arq, XmlWriteMode.WriteSchema); return ds; }]]></description>
			<content:encoded><![CDATA[<pre class="brush: csharp;">private DataSet gravarXML(string arq)
        {
            DataSet ds = new SubSonic.Select(&quot;nome&quot;, &quot;qnt&quot;, &quot;data_v&quot;).From(&quot;clientes&quot;).InnerJoin(&quot;vendas&quot;, &quot;idcliente&quot;, &quot;clientes&quot;, &quot;idclientes&quot;).WhereExpression(&quot;data_v&quot;).IsBetweenAnd(data1, data2).OrderAsc(&quot;data_v&quot;).ExecuteDataSet();
            ds.WriteXml(arq, XmlWriteMode.WriteSchema);
            return ds;
 }</pre>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/06/criar-xml-com-subsonic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consulta Banco Com SubSonic</title>
		<link>http://diariodecodigos.info/2009/06/consulta-banco-com-subsonic/</link>
		<comments>http://diariodecodigos.info/2009/06/consulta-banco-com-subsonic/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 11:13:00 +0000</pubDate>
		<dc:creator>paulodiogo</dc:creator>
				<category><![CDATA[SubSonic]]></category>

		<guid isPermaLink="false">http://diariodecodigos.wordpress.com/2009/06/22/consulta-banco-com-subsonic/</guid>
		<description><![CDATA[DataSet ds; try { ds = new SubSonic.Select(&#34;incr&#34;, &#34;nome&#34;, &#34;red&#34;, &#34;lpl&#34;, &#34;red_lpl&#34;, &#34;le&#34;, &#34;es&#34;, &#34;mec&#34;, &#34;total&#34;, &#34;classificacao&#34;, &#34;status&#34;, &#34;turno&#34;, &#34;ano&#34;,&#34;curso&#34;,&#34;unidade&#34;).From(&#34;vestibularesantigos&#34;) .WhereExpression(&#34;Nome&#34;).Like(nome+&#34;%&#34;).AndExpression(&#34;unidade&#34;).IsEqualTo(&#34;FDC&#34;).ExecuteDataSet(); } catch (Exception ex) { ds = null; } return ds;]]></description>
			<content:encoded><![CDATA[<pre class="brush: csharp;">
DataSet ds;
try
{
ds = new SubSonic.Select(&quot;incr&quot;, &quot;nome&quot;, &quot;red&quot;, &quot;lpl&quot;, &quot;red_lpl&quot;, &quot;le&quot;, &quot;es&quot;, &quot;mec&quot;, &quot;total&quot;, &quot;classificacao&quot;, &quot;status&quot;, &quot;turno&quot;, &quot;ano&quot;,&quot;curso&quot;,&quot;unidade&quot;).From(&quot;vestibularesantigos&quot;)
.WhereExpression(&quot;Nome&quot;).Like(nome+&quot;%&quot;).AndExpression(&quot;unidade&quot;).IsEqualTo(&quot;FDC&quot;).ExecuteDataSet();
}
catch (Exception ex)
      {
          ds = null;
      }
return ds;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/06/consulta-banco-com-subsonic/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

