Aplicativos de n camadas e remoto com LINQ to SQL
Você pode criar aplicativos de N camadas ou de várias camadas que usam LINQ to SQL. Normalmente, o contexto de dados, as classes de entidade e a lógica de compilação de consulta do LINQ to SQL são localizados na camada intermediária (DAL) como a camada de acesso a dados. A lógica comercial e todos os dados não persistentes podem ser completamente implementados em classes e métodos parciais nas entidades e de contexto de dados, ou pode ser implementado em classes separados.
O cliente ou a camada de apresentação chamam métodos na interface remoto de camada intermediária, e o DAL na camada executará as consultas ou procedimentos armazenados que são mapeados para os métodos de DataContext . A camada intermediária retorna os dados para clientes geralmente como representações de XML de entidades ou objetos de proxy.
Na camada intermediária, as entidades são criadas pelo contexto de dados, que acompanha seu estado, e gerencia a carga de exceção e o envio de alterações ao base de dados. Essas entidades são anexados” a “ DataContext
. No entanto, depois que as entidades são enviadas a outra camada com a serialização, ficam destacadas, que significa que DataContext
já não estiver controlando seu estado. As entidades que o cliente envia novamente para atualizações precisam ser reanexadas ao contexto de dados antes que o LINQ to SQL possa enviar as alterações para o base de dados. O cliente é responsável por fornecer valores originais e/ou os carimbos de data/hora de volta a camada intermediária se esses são necessários para concorrência otimista verificações.
Em aplicativos ASP.NET, LinqDataSource gerencia a maioria da complexidade. Para obter mais informações, confira Visão geral do controle de servidor Web do LinqDataSource.
Recursos adicionais
Para obter mais informações sobre como implementar aplicativos de n camadas que usam LINQ to SQL, confira os seguintes tópicos:
Para obter mais informações sobre aplicativos de n camadas que usam Conjunto de Dados do ADO.NET, confira Trabalhar com conjuntos de dados em aplicativos de N camadas.