visual studio online framework consultas conexion linq linq-to-sql

online - linq to sql visual studio 2017



GestiĆ³n de la complejidad del modelo LINQ to SQL.dbml (5)

El enfoque que hemos utilizado para mantener 2 archivos .dbml. Uno de ellos contiene los procesos almacenados y todo el acceso a la base de datos de producción se realiza a través de esto. El otro se encuentra en una carpeta de prueba de unidad y contiene tablas y sus relaciones, y se usa para la manipulación de datos de DB y consultas para pruebas unitarias.

Esta pregunta está dirigida a un grado en esta pregunta sobre las mejores prácticas LINQ to SQL .dbml , pero no estoy seguro de cómo agregar a una pregunta.

Una de nuestras aplicaciones utiliza LINQ to SQL y actualmente tenemos un archivo .dbml para toda la base de datos que se está volviendo difícil de administrar. Estamos buscando refactorizarlo un poco en archivos separados que son más específicos de módulo / funcionalidad, pero un problema es que muchas de las clases de alto nivel tendrían que duplicarse en varios archivos .dbml ya que las asociaciones no se pueden usar en todos. archivos dbml (hasta donde yo sé), con el código de clase parcial adicional también.

¿Alguien ha lidiado con este problema y qué recomendaciones haría?


Más allá de cierto tamaño, probablemente sea más fácil trabajar con xml en lugar del diseñador de dbml.


Aproveche la configuración del espacio de nombres. Puede acceder a él desde propiedades haciendo clic en el espacio en blanco de la ORM.

Esto me permite tener una tabla de Usuarios y una clase de Usuario para un conjunto de reglas de negocio y una segunda (pero el mismo almacén de datos) tabla Usuarios y una clase Usuario para otro conjunto de reglas comerciales.

O divida la biblioteca, lo que también debería tener el efecto de cambiar el espacio de nombres según las convenciones de nomenclatura de su empresa. Nunca he trabajado en una aplicación empresarial donde necesitaba acceso a cada una de las tablas.


He escrito una utilidad para abordar exactamente ese problema. Necesitaba una aplicación rápida que le permitiera seleccionar solo los objetos de la base de datos que necesita. En mi caso, a menudo necesitaba una vista compleja, pero no tablas.

http://www.codeplex.com/SqlMetalInclude/


¡También he escrito una herramienta! El mío es para crear scripts de los archivos dbml usando c # para que pueda volver a ejecutarlos y no perder los cambios. Ver mi blog http://www.adverseconditionals.com 4 más detalles