Pregunta

Tal vez esta sea solo una idea estúpida, por eso la lanzo aquí:

Estoy creando una aplicación, usando una base de datos para datos básicos y actuales (clientes, artículos, inventario, facturas abiertas, ...) y una base de datos por año para datos de archivo (facturas antiguas, movimiento de inventario, ...) .

Solo hay un pequeño problema desagradable: MSDTC. La mayoría de las transacciones solo tocan una base de datos, pero algunas tocan la base de datos actual y un año de archivo. Dado que todas las bases de datos renuncian en el mismo servidor, esto podría ser una transacción simple entre dos bases de datos.

Sin embargo, Linq para las entidades me obliga a crear una conexión independiente para cada base de datos, y aquí MSDTC entra en acción, exigiendo que a) se instale yb) ralentice todo el proceso.

¡Molesto!

¿No hay alguna forma de obtener dos modelos de marco de entidad ADO.Net para usar la misma conexión, ambos con su propia base de datos actual?

Ya intenté especificar la base de datos en el esquema EF, pero EF sí no así y lo bloquea.

Muy molesto. Tal vez debería mover todas las tablas a una base de datos, pero esto es un problema más adelante cuando trato de separar los datos para realizar copias de seguridad y acelerar.

¿Fue útil?

Solución

Intente llamar a ChangeDatabase en su conexión. MSDTC siempre estará involucrado si usa más de una conexión. Incluso para una base de datos. Entonces, ¿puedo sugerir mantener siempre una conexión y cambiar la base de datos a través de este método?

Espero que esto ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top