LINQ - Gerando XML a partir do banco de dados (LINQ Pad)


O padrão XML é muito usado para transferência de dados entre aplicações e plataformas diferentes. Também é muito fácil gerar informações no formato XML a partir de banco de dados e neste artigo eu vou mostrar uma das muitas maneiras de fazer isso usando LINQ to XML.

Recursos usados:

Suponha que você deseja gerar um arquivo XML a partir de informações existentes em um banco de dados. Como exemplo eu estou usando o banco de dados Northwind.mdf.

Vou usar a ferramenta LINQ Pad para mostrar como é simples se conectar ao banco de dados e obter as informações no formato XML.

Após baixar e instalar, abra o LINQ Pad e você verá a tela inicial abaixo:

Clique em Add Connection e será apresentada o formulário Choose Data Context:

Selecione - Default (LINQ to SQL) e clique em Next>;

A janela LINQPad Connection será apresentada:

Informe o servidor e o nome do banco de dados e clique em OK. (Eu estou usando o servidor LocalDB do SQL Server e o banco de dados Northwind.mdf)

A conexão será exibida bem como as tabelas logo abaixo do link Add connection;

A seguir na janela acima selecione C# Statement(s) para Languague e em Connection selecione a conexão ativa : (Localdb)\v11.0 Northwind e a seguir digite a consulta LINQ to XML abaixo:

XElement ProdutosXML = new XElement("Produtos",
            (from tbl in Products
			 where tbl.UnitsInStock > 0
			 select new
			 {
			     tbl.ProductID,
				 tbl.ProductName,
				 tbl.UnitPrice,
				 tbl.UnitsInStock
			 }).ToList().Select(
			              x=> new XElement("Produto",
						      new XAttribute("ID",x.ProductID),
							  new XAttribute("Nome",x.ProductName),
							  new XAttribute("Preco",x.UnitPrice),
							  new XAttribute("Estoque",x.UnitsInStock)
							  )));
Console.WriteLine(ProdutosXML);

Clique no botão para executar e veja o resultado exibido na janela Results conforme mostramos a seguir:

Nota: Observe que você pode exibir na janela Results o SQL, a expressão lambda ou o código da IL.

Se quiser exportar o resultado basta clicar na opção Export e escolher o destino:

Seja sincero. O LINQ Pad é uma ferramenta fantástica.

Explore os outros recursos da ferramenta você vai se surpreender com o que ela pode fazer.

Veja os Destaques e novidades do SUPER DVD Visual Basic 2013 (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Rom 8:5 Pois os que são segundo a carne inclinam-se para as coisas da carne; mas os que são segundo o Espírito para as coisas do Espírito.
Rom 8:6 Porque a inclinação da carne é morte; mas a inclinação do Espírito é vida e paz.

Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti