Después de arrastrar dos tablas desde una base de datos, cambio a otra y arrastro una tabla. Ahora recibo un mensaje si deseo reemplazar la cadena de conexión con la nueva. Quiero tablas de múltiples bases de datos en un solo DBML. es posible?¿Tablas de dos bases de datos diferentes en un DBML?
Respuesta
No creo que lo que está buscando sea posible, ya que el DataContext no tendría una forma fácil de resolver los resultados de dos bases de datos separadas.
Si está buscando crear objetos de dominio desde dos bases de datos separadas, entonces la mejor opción sería tener dos DBML separados, luego usar un puente (GOF) u otro patrón de diseño relacionado para crear instancias de objetos de dominio.
Otra opción es crear un enlace de servidor en la base de datos que apunta a la otra y crear alias a las tablas remotas desde la base de datos "local". Creo que entonces podrías referenciarlos como si estuvieran todos en la misma base de datos.
si bien esta es una respuesta técnicamente correcta, ¿no sería una mala práctica seguirla? He tenido que lidiar con servidores vinculados en el pasado, y en mi experiencia, no ha sido bonito en términos de mantenibilidad o rendimiento –
Es posible hacer referencia a múltiples bases de datos dentro del mismo DBML, SIEMPRE que esas bases de datos residan en el mismo servidor SQL.
En Visual Studio, haga clic derecho en DBML, haga clic en "Abrir con ..." y seleccione XML (Text) Editor with Encoding.
Usted verá a su primera tabla que ha arrastrado en el aspecto siguiente:
< Tabla Name = "dbo.MyTable1fromMyDatabase1" Miembro = "MyTable1fromMyDatabase1" >
para las tablas de otra bases de datos que desea añadir, entrar en ellos de esta manera:
< Tabla Name = "MyDatabase2.dbo.MyTable1fromM yDatabase2" Miembro = 'MyTable1fromMyDatabase2' >
Esto funciona asumiendo el mismo nombre de usuario que funciona para ambas bases de datos, y sus expresiones LINQ
ahora puede consultar a través de ambas bases de datos!
También podemos crear una vista que consulte la tabla en la otra base de datos. Podemos seleccionar, insertar y actualizar esta vista, lo que afectará a la tabla en la otra base de datos también.
- 1. Seleccionar dos o varias tablas de bases de datos diferentes
- 2. Consultar datos uniendo dos tablas en dos bases de datos en servidores diferentes
- 3. mysql sincronización de dos tablas de 2 bases de datos
- 4. Cómo obtener una lista de todas las tablas en dos bases de datos diferentes
- 5. Asociar tablas de diferentes bases de datos - Entity Framework
- 6. mySQL selecciona diferencias entre dos tablas en bases de datos diferentes
- 7. Cómo mover datos entre 2 tablas/con columnas diferentes en bases de datos diferentes
- 8. unir dos estructuras de tablas idénticas con datos diferentes
- 9. ¿Cómo copio o importo esquemas de Oracle entre dos bases de datos diferentes en servidores diferentes?
- 10. Hacer una unión más de 2 tablas en diferentes bases de datos usando Hibernate
- 11. Cómo crear varias conexiones de bases de datos para diferentes bases de datos en java
- 12. ¿Bases de datos múltiples o muchas tablas?
- 13. ¿Puede un procedimiento almacenado trabajar con dos bases de datos diferentes? ¿Qué tal dos servidores?
- 14. ¿Cómo comparar dos bases de datos?
- 15. Seleccionar columnas en diferentes bases de datos
- 16. Conéctese a dos bases de datos
- 17. MySQL: ¿se une entre tablas en 2 bases de datos diferentes?
- 18. Uso de Fluent-NHibernate con tablas en diferentes esquemas de bases de datos
- 19. ¿Cómo se unió a 2 tablas en 2 bases de datos diferentes?
- 20. consulta de bases de datos diferentes
- 21. ¿Podemos usar join para dos tablas de base de datos diferentes?
- 22. Detener LINQ to SQL dbml de actualizar cadena de conexión cuando arrastro tablas al archivo dbml
- 23. restauración MySQL a diferentes bases de datos
- 24. efecto de rendimiento de unir tablas de diferentes bases de datos
- 25. columnas de dos tablas de bases de datos relacionadas en uno ASP.NET GridView con EntityDataSource
- 26. Cómo comparar los datos entre los dos tipos de tabla en diferentes bases de datos utilizando SQL Server 2008?
- 27. DBCP - validationQuery para diferentes bases de datos
- 28. Agregar relación de clave externa entre dos bases de datos
- 29. Forma más rápida fusionar dos bases de datos SQLITE
- 30. Sincronizar el esquema de dos bases de datos en MySQL
¿Tiene enlaces a cómo funcionaría esto? Creo que tengo una situación similar. Tengo una base de datos maestra que contiene una lista de clientes y el nombre del servidor y el nombre de la base de datos para cada uno de los clientes. Todos ellos tienen una estructura de base de datos idéntica. Por lo tanto, me gustaría completar el modelo desde diferentes bases de datos dependiendo del cliente seleccionado. – stephenbayer
@stephenbayer - su situación es en realidad un poco diferente. Dado que los datos no se distribuyen en múltiples DB, su trabajo es un poco más fácil. Cree un servicio (web, soap, rest, no importa para esta discusión) que sepa cómo encontrar una cadena de conexión o un prefijo de nombre de base de datos (más seguro) para sus DB. Use un identificador de cliente como índice para encontrar la base de datos específica. Su aplicación puede consultar este DB de cliente para obtener información sobre cómo conectarse a la base de datos específica. –