Question

Après avoir fait glisser deux tables depuis une base de données, je passe à une autre et faites glisser une table. Maintenant, je reçois un message si je veux remplacer la chaîne de connexion avec la nouvelle. Je veux des tables de plusieurs bases de données dans un DBML. Est-ce possible?

Était-ce utile?

La solution

Je ne crois pas que ce que vous cherchez est possible, puisque le DataContext serait alors pas moyen facile de résoudre les résultats de deux bases de données distinctes.

Si vous cherchez à créer des objets de domaine à partir de deux bases de données distinctes, alors votre meilleur pari serait d'avoir deux DBML séparé de, puis utilisez un pont (GOF) ou d'un autre modèle de conception lié à instancier vos objets de domaine.

Autres conseils

Il est tout à fait possible de référencer plusieurs bases de données dans le même DBML, à condition que ces bases de données résident sur le même SQL Server.

Dans Visual Studio, cliquez-droit sur le DBML, cliquez sur "Ouvrir avec ...", et sélectionnez XML (texte) Editeur avec encodage.

Vous verrez votre première table que vous avez fait glisser dans ressemble à ceci:

  

Pour vos tables d'autres que vous souhaitez ajouter des bases de données, entrez comme ceci:

  

Cela fonctionne en supposant les mêmes travaux de connexion pour les bases de données et vos expressions LINQ peut maintenant interroger sur les deux bases de données!

Une autre option consiste à créer un lien de serveur sur la base de données qui pointe vers l'autre et créer des alias pour les tables à distance de la DB « locale ». Je crois alors vous seriez en mesure de les référencer comme s'ils étaient tous dans la même base de données.

Nous pouvons également créer une vue qui interroge la table dans l'autre base de données. Nous pouvons sélectionner, insérer et mettre à jour ce point de vue, ce qui aura une incidence sur la table dans l'autre base de données ainsi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top