Mejores prácticas de aplicaciones web de LINQ to SQL
En mi experiencia en la creación de aplicaciones web, siempre he usado un enfoque de n niveles. Un DAL que obtiene datos de la base de datos y puebla los objetos, y BLL que obtiene objetos del DAL y realiza cualquier lógica de negocios requerida en ellos, y el sitio web que obtiene sus datos de visualización del BLL. Recientemente comencé a aprender LINQ, y la mayoría de los ejemplos muestran las consultas que se producen directamente desde los códigos subyacentes de la aplicación web (es posible que solo haya visto ejemplos demasiado simplificados). En las arquitecturas de n niveles, esto siempre fue visto como un gran no-no.
No estoy seguro de cómo diseñar una nueva aplicación web. He estado usando el Explorador de servidores y el diseñador de dbml en VS2008 para crear las relaciones dbml y de objetos. Me parece poco claro si el dbml se consideraría la capa DAL, si el sitio web debe llamar a métodos dentro de un BLL, que luego haría las consultas LINQ, etc.
¿Cuáles son algunas de las mejores prácticas de arquitectura general o enfoques para crear una solución de aplicación web usando LINQ to SQL?