visual usando studio net framework examples español consulta conexion asp linq-to-sql

linq-to-sql - usando - manual de linq to sql en español



Linq a SQL y modelo de gran DB (4)

Primero, soy Linq a Sql novato, así que por favor se amable :).

Tengo una aplicación ASP.Net existente desarrollada en los últimos 3.5 años. Tiene un modelo de datos bastante grande debajo, alrededor de 350 tablas. Estoy tratando de hacer algunas cosas nuevas con Linq a SQL.

La primera impresión es que linq designer y SqlMetal están diseñados para bases de datos no mayores que NorthWind. Aquí hay algunos problemas que tengo:

  1. Tengo Products mesa que se necesitan en muchos lugares (inventario, facturación, producción, ...). Si pongo Table Products en cada archivo dbml, el diseñador de linq creará la clase Product en cada uno de ellos. No quiero eso. Quiero solo una clase de Product .
  2. Tengo DataContext sobre el envío. Necesita alrededor de 40 tablas. Esto hace que el archivo dbml sea muy difícil de administrar. ¿Hay alguna manera de crear archivos dbml más pequeños y luego incluirlos (como referencia) en algún dbml "principal"?

Por ahora, realmente me gusta Linq, pero creo que todavía falta una herramienta de diseño para algo más grande que 10 tablas.

Mi solución ahora es crear modelos más pequeños con el diseñador Linq y luego fusionarlos manualmente (agregando propiedades y referencias), por lo que se generarán muchos códigos, pero también habrá mucho trabajo manual.

¿Perdí algo grande o es este estado de cosas actual con Linq a Sql?




¿Por qué quieres múltiples archivos dbml? Solo pegúelos a todos en uno. Así es como debe funcionar.


bueno, mi solución fue usar la opción SQLMetal /code para crear clases simples en un archivo .cs en lugar de un archivo DBML, y usar clases parciales en un archivo separado para extender las clases ORM generadas.

Sé que eso no resuelve su problema de dividir partes de su base de datos en diferentes ensamblajes ORM. Acabo de descubrir que sin el dolor de cabeza de DBML / Designer, manejar una gran cantidad de clases en un archivo .cs no era tan malo.