Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 17061|Resposta: 0

[ASP.NET] Baseado em. Desenvolvimento da arquitetura de três camadas de .LINQ para SQL

[Copiar link]
Publicado em 08/05/2015 15:47:22 | | | |

Besteira escrita na frente

Baseado em. A arquitetura de três camadas do .NET pode ser dividida nas seguintes camadas: camada Data Linq, camada de acesso a dados, camada de lógica de negócios e camada de apresentação. Os símbolos de seta na Figura 1 abaixo ilustram a interação entre as camadas: a camada de acesso a dados faz referência à camada Data LINQ; A camada de lógica de negócios faz referência à camada de acesso a dados e às classes de entidade na camada Data LINQ. A camada de apresentação refere-se à camada de lógica de negócios, bem como às classes de entidade na camada Data LINQ.

A camada Data LINQ inclui principalmente classes de entidade e classes de Contexto de Dados. Normalmente, uma classe de entidade é para uma tabela no banco de dados. Podemos criar instâncias de classes de entidade que são transferidas entre diferentes camadas como objetos de dados.

        Figura 1 Arquitetura de três camadas de LINQ para SQL

A seguir está um exemplo da janela de login ao criar um projeto para introduzir o desenvolvimento da arquitetura em três níveis do LINQ para SQL

Preparação

1. Primeiro, você precisa de um banco de dados e uma tabela de dados para armazenar o nome de usuário e a senha da pessoa logada. Aqui, é utilizado um banco de dados SQL Server 2005. A estrutura da tabela do banco de dados é mostrada na Figura 2.

Figura 2 Tabela de Usuários de Banco de Dados

2. Abra o VS e crie um novo projeto ---> outros tipos de projetos---> soluções Visual Studio---> soluções em branco. Como mostrado na Figura 3. (Visual Studio 2008 é usado aqui)


Figura 3 Criar uma solução em branco

3. Adicionar uma biblioteca de turmas. Clique com o botão direito na solução recém-criada no Explorador de Soluções ---> adicionar ---> novo projeto ---> biblioteca de classes. Como mostrado na Figura 4. O mesmo método requer adicionar três bibliotecas, BLL, DAL e DataLinq, e um aplicativo Windows Forms (se for um desenvolvimento de aplicação web, selecione ASP.NET aplicação Web) e nomeie UI.


Figura 4 Adicionar um projeto de biblioteca

A estrutura após a adição é mostrada na Figura 5. Ao mesmo tempo, clique com o botão direito na interface e defina a interface como item de lançamento.


Figura 5 Diagrama da estrutura do projeto

Adicione uma citação

No Explorador de Soluções, adicione referências a cada nível. Camada BLL Selecione Referências --->clique com o botão direito ---> adicionar referências. Como mostrado na Figura 6. Adicione uma referência ao System.Data.Linq. Ao mesmo tempo, de acordo com a relação entre as camadas mostrada na Figura 1 acima, adicione referências de projeto para DAL e DataLinq. Da mesma forma, a camada DAL adiciona referências de projeto a System.Data.Linq e DataLinq, a camada DataLinq adiciona referências a System.Data.Linq, e a camada UI adiciona referências a System.Data.Linq e referências de projeto a BLL e DataLinq.


Figura 6 Adicionar referências de projetos

Até agora, uma arquitetura de três níveis foi estabelecida. O seguinte é adicionar suas classes correspondentes a cada camada.

1. Primeiro, a camada DataLinq. Clique com o botão direito no DataLinq---> adicione ---> novo projeto---> selecione a classe LINQ para SQL, como mostrado na Figura 7.


Figura 7 Adicionando um LINQ à classe SQL

2. Após a adição ser concluída, um designer em branco (arquivo .dbml) será criado automaticamente com um link para o Server Explorer, além do arquivo dbml.layout associado (arquivo XML) e designer.cs arquivo. Abra o Explorador de Servidores e estabeleça um link para o banco de dados.


Figura 8 Open Server Explorer

3. Conecte-se ao banco de informações. Selecione a ferramenta ---> adicionar banco de dados. Como mostrado na Figura 9. Selecione o banco de dados recém-criado e determine o banco de dados de conexão. Neste ponto, o banco de dados aparecerá no Explorador de Servidores.


4. Selecione o usuário da tabela de dados que deseja usar, arraste e solte no designer, conforme mostrado na Figura 10 abaixo. Salve o arquivo. Agora, classes DataContext e classes de entidade com propriedades, métodos e métodos relacionados foram gerados automaticamente.


Figura 10 Classe de usuário

Adicionar camadas de código

Camada DAL

Crie uma nova classe UserDAL e adicione o seguinte código

//UserDAL.cs

usando o DataLinq;
usando System.Data.Linq;

Espaço de nomes DAL
{
    classe pública UserDAL
    {
        private DataLinq.DBLinqDataContext objDataContext = new DataLinq.DBLinqDataContext();

        Usuário público SelectRecordByID(string userid)
        {
            tente
            {
                return (de u em objDataContext.User onde u.Id == userid select u). Single();
            }
            captura (exceção ex)
            {
                jogar ex;
            }
        }
    }
}

Camada BLL

Crie uma nova classe UserBLL e adicione o seguinte código

//UserBLL.cs

usando System.Data.Linq;
usando o DataLinq;

Espaço de nomes BLL
{
    classe pública UserBLL
    {
        DAL particular. UserDAL objUserDAL = new DAL. UserDAL();

        Usuário público SelectRecordByID(string userid)
        {
            return objUserDAL.SelectRecordByID(userid);
        }
    }
}

Código da camada UI

//LoginForm.cs

soldado BLL. UserBLL objUserBLL = new BLL. UserBLL();
      
        private void btnSubmit_Click(object sender, EventArgs e)
        {
            id da string = txtId.Text.Trim();
            string psd = txtPsd.Text.Trim();

            User localDataTable = objUserBLL.SelectRecordByID(id);

            if (localDataTable != null && localDataTable.Psd == psd)
            {
                MessageBox.Show("Sucesso");
            }
            senão
            {
                MessageBox.Show("false");
            }
        }

Neste ponto, o código da interface de login está completo. Você pode rodar para ver o efeito.






Anterior:Se você já tem um DataReader aberto associado a este Comando, deve primeiro fechá-lo.
Próximo:LINQ recebe o procedimento armazenado, problema de valor de retorno no meu procedimento armazenado
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com