Aplicaciones remotas y de n niveles con LINQ to SQL
Actualización: November 2007
Puede crear aplicaciones multinivel o de n niveles que utilicen LINQ to SQL. Normalmente, el contexto de datos de LINQ to SQL, las clases de entidad y la lógica de construcción de consultas se encuentran en el nivel intermedio como la capa de acceso a datos (DAL). La lógica empresarial y los datos no persistentes se pueden implementar completamente en clases parciales y métodos de entidades y en el contexto de los datos, o se pueden implementar en clases independientes.
La capa de presentación o de cliente llama a los métodos en la interfaz remota de nivel intermedio, y la capa de acceso a datos (DAL) en ese nivel ejecutará consultas o procedimientos almacenados asignados a métodos DataContext. El nivel intermedio devuelve los datos a los clientes generalmente como representaciones XML de entidades u objetos proxy.
En el nivel intermedio, las entidades son creadas por el contexto de los datos, el cual realiza el seguimiento de su estado, y administra la carga aplazada desde, y el envío de los cambios a, la base de datos. Estas entidades están "asociadas" al DataContext. Sin embargo, una vez que las entidades se han enviado a otro nivel a través de la serialización, quedan desasociadas, lo cual significa que el DataContext ya no realiza el seguimiento de su estado. Las entidades que el cliente devuelve para las actualizaciones se deben volver a asociar al contexto de los datos antes de que LINQ to SQL pueda enviar los cambios a la base de datos. El cliente es responsable de devolver valores originales y/o marcas de tiempo al nivel intermedio si se requieren para las comprobaciones de simultaneidad optimista.
En aplicaciones ASP.NET, LinqDataSource administra la mayor parte de esta complejidad. Para obtener más información, vea Información general sobre el control de servidor web LinqDataSource.
La siguiente ilustración muestra la arquitectura básica de una aplicación de n niveles que utiliza LINQ to SQL en la capa de acceso a datos.
Recursos adicionales
Para obtener más información sobre cómo implementar aplicaciones de n niveles que utilizan LINQ to SQL, consulte los temas siguientes:
LINQ to SQL con aplicaciones cliente-servidor que se corresponden estrictamente
Recuperación de datos y operaciones CUD en aplicaciones de niveles N (LINQ to SQL)
Para obtener más información sobre aplicaciones de n niveles que utilizan conjuntos de datos de ADO.NET, vea Aplicaciones de datos con n niveles.