LINQ para iniciantes 2 - Exemplos Entidades em LINQ

watch_later 2 de jul de 2013

Exemplo simples de LINQ to SQL?

Vamos primeiro começar com um exemplo simples LINQ e, em seguida, tentar entender como podemos estabelecer relacionamentos de entidades LINQ.
Passo 1: Definindo Entidades usando LINQ
Quando projetamos um app usando uma abordagem em camadas como um 3-tier ou N-tier, precisamos criar classes de negócio e objetos. Por exemplo, o código define uma classe que é mapeada para uma tabela País (Country). Você pode ver como as propriedades da classe são mapeados em um 1-1 de acordo com a tabela. Estes tipos de classes são denominados como classes de entidade.
LINQ é um modelo de programação uniforme para qualquer tipo de acesso a dados. LINQ permite consultar e manipular dados idependente de sua fonte de dados. A figura abaixo mostra como o .NET disponibilizar o modelo de programação LINQ e trabalho de maneira uniforme sobre qualquer tipo de fonte de dados. É como uma linguagem de consulta que pode consultar qualquer fonte de dados em qualquer formato. LINQ também oferece segurança completo e verificar em tempo de compilação. LINQ pode servir como uma boa entidade para a camada intermediária. Então ele vai estar entre a interface do usuário e as camadas de acesso a dados.
No LINQ, é preciso primeiro definir essas entidade-classes usando os mapeamentos de atributo. Você precisa importar o namespace System.Data.Linq.Mapping para obter os atributos de mapeamento. Abaixo está um trecho de código que mostra como os mapas de atributos de tabela da classe com a tabela do cliente de banco de dados e como os atributos da coluna ajudam no mapeamento de propriedades com as colunas da tabela.
        
[Table(Name = "Customer")]
public class clsCustomerEntityWithProperties
{
    private int _CustomerId;
    private string _CustomerCode;
    private string _CustomerName;

    [Column(DbType = "nvarchar(50)")]
    public string CustomerCode
    {
        set
        {
            _CustomerCode = value;
        }
        get
        {
            return _CustomerCode;
        }
    }

    [Column(DbType = "nvarchar(50)")]
    public string CustomerName
    {
        set
        {
            _CustomerName = value;
        }
        get
        {
            return _CustomerName;
        }
    }

    [Column(DbType = "int", IsPrimaryKey = true)]
    public int CustomerId
    {
        set
        {
            _CustomerId = value;
        }
        get
        {
            return _CustomerId;
        }
    }
}
        
Abaixo está uma visão um pouco mais sofisticada das entidades-classes de mapeamento com a estrutura da tabela do cliente:
Passo 2: Use o DataContext para vincular os dados da tabela com os objetos de entidade
O segundo passo é usar o objeto de contexto do LINQ para preencher os seus objetos de entidade. DataContext age como um mediador entre os objetos de banco de dados e suas classes mapeadas da entidade LINQ.
Então a primeira coisa a fazer é criar um objeto DataContext e criar uma conexão ativa com a string de conexão com o Banco de dados.

DataContext objContext = new DataContext(strConnectionString);

        
A próxima coisa a fazer é obter a coleção da entidade usando o tipo de dados da tabela. Isso é feito usando a função GetTable do DataContext.

Table<clsCustomerEntity> objTable = objContext.GetTable<clsCustomerEntity>();    

        
Uma vez que temos todos os dados da coleção, é hora de navegar pela coleção e exibir os registros.

foreach (clsCustomerEntity objCustomer in objTable)
{
    Response.Write(objCustomer.CustomerName + "<br />");
}

        
Bom galera , ficamos por aqui a abaixo estão os links das postagens da mesma série , espero que seja útil ,qualquer dúvida comente , ou mande email para contato@virtualbase.com.br

Lista de Postagens da série LINQ PARA INICIANTES :