Aplicaciones de n niveles y remotas con LINQ to SQL
Puede crear aplicaciones de n niveles o de varios niveles que usen 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 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 más información, consulte Introducción al control de servidor web LinqDataSource.
Recursos adicionales
Para más información sobre cómo implementar aplicaciones de n niveles que utilizan LINQ to SQL, consulte los temas siguientes:
Para más información sobre las aplicaciones de n niveles que usan conjuntos de datos ADO.NET, consulte Trabajo con conjuntos de datos en aplicaciones de n niveles.