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:
- Tengo
Products
mesa que se necesitan en muchos lugares (inventario, facturación, producción, ...). Si pongo TableProducts
en cada archivo dbml, el diseñador de linq creará la claseProduct
en cada uno de ellos. No quiero eso. Quiero solo una clase deProduct
. - 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?
¿Has encontrado este artículo en MSDN?
http://msdn.microsoft.com/en-us/library/bb387007.aspx
Parece que hay una herramienta de línea de comandos para generar el Modelo de Objetos sin usar el diseñador visual en VS.net.
Si yo fuera usted, estaría utilizando Entity Framework, ya que este es el MS recomendado por ORM Microsoft mata a Linq 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.