Eh bien, Id
les colonnes ne sont pas des "clés" significatives, et elles vous feront trébucher partout. Ils sont censés être des identifiants physiques sans signification, et vous leur avez attaché une signification. Lorsque vous exigez que les mêmes Ids
existent dans une autre base de données.
Avez-vous résolu la violation FK ? Vous avez très probablement un Id
totalement différent pour la ligne DB1, dans DB2; et certainement des Ids
parents différents .
Vous devez toujours ne pas spécifier un Id
valeur, et laissez le serveur la remplir, ou toujours spécifier un Id
valeur, dans les deux bases de données.
Le deuxième problème est que vous ne pensez pas de manière transactionnelle. Les transactions multi-db ne posent aucun problème. Alors oubliez le Id
colonne, ce qu'elle contient, et utilisez les vraies clés de la table, dans les deux Dbs. Les ids
sera différent, mais peu importe (cela signifie libérer le besoin d'attacher une signification à l'identifiant sans signification).