Para persistir os dados cadastrados

Published: November 9, 2015 Words: 396

1. Introdução

Neste trabalho utilizamos a linguagem de programação C# e a tecnologia LinqToSQL para persistir os dados cadastrados em um banco de dados relacional, SQL Compact.

2. Modelo de dados:

Para que fossem testadas as possibilidades das tecnologias criamos um modelo de dados simples mas que pudesse mostrar de maneira básica as funcionalidades disponíveis.

Na Figure 1 é apresentado o modelo utilizado. Como podemos perceber é um modelo bastante simples para cadastro de usuário, sendo composto de duas tabelas: usuários (User) e telefones do usuário (UserPhoneNumber), optamos por separar os telefones do usuário para que um usuário pudesse possuir mais que somente um telefone, e com isto testar também o comportamento da ferramenta quando existisse um relacionamento entre duas tabelas.

3. Interface com usuário:

Para que o usuário possa cadastrar as informações criamos uma interface gráfica. Esta interface gráfica está subdivida nas seguintes telas:

4. Utilizando a tecnologia

Nesta seção explicaremos de forma sucinta como, utilizando o LinqToSQL, podemos persistir os dados de objetos de um programa.

O DataContext é a classe que representa o modelo ER. Junto com o DataContext, é gerado para cada tabela uma classe correspondente.

Como podemos ver nos três exemplos, ambos usam o método SubmitCHanges() do DataContext. Só quando esse método é executado ocorre de fato a mudança no banco de dados.

A estrutura de query utilizada na primeira linha dos exemplos 2 e 3, é chamada de LINQ. é uma sintaxe de busca fortemente tipada, fácil e flexivel, além de poder ser utilizada em cima de qualquer estrutura de dados: árvores, dados, XML, etc...

O LINQToSQL é do tipo lazy load, ou seja, ele só executa as queries quando for precisar usar o resultado delas de fato. No exemplo 2 só será executada uma query que trará o primeiro usuário da tabela, e não uma query que trará todos e dentro do programa será feito a seleção.

5. Principais benefícios da utilização do LinqToSQL

Através da assinatura do evento de ChangeConflictException, que é lançado quando algum conflito no banco ocorre

6. Contras da utilização do LinqToSQL

é precisa realizar um teste em cima do objeto para saber se ele já está no banco e se só deveria ser

atualizado.

7. Conclusão

A tecnologia do Linq é uma boa opção para mapear objetos para o modelo relacional. Porém ele somente funciona para

linguagens suportadas pela tecnoliga .net, tornando-o menos versátil.