0

Je voudrais savoir s'il est possible de mapper la relation entre deux bases de données différentes en utilisant Code First. Par exemple, je veux déployer différents sites Web avec la même structure de base de données (même système). Mais je veux qu'une base de données principale ait des tables que tous les systèmes partageront l'accès. Par exemple: Clients de table dans la base de données principale; Table ClientContacs dans la base de données d'un système spécifique;Entity Framework Code Première relation entre plusieurs bases de données

Est-il possible de mapper en utilisant Code First et plusieurs DbContext? Si ce n'est pas le cas, j'apprécierais vraiment les suggestions sur la façon d'y parvenir! Merci!

Répondre

0

Oui, c'est possible, mais pas très pratique.

Voici une description de le faire avec EDMX Fichiers:

http://rachel53461.wordpress.com/2011/05/22/tricking-ef-to-span-multiple-databases/

Il est un peu plus facile avec le code d'abord, puisque vous devez faire référence uniquement les noms de table. Cependant, vous ne pouvez pas obtenir EF pour créer ceci automatiquement. Vous devez d'abord créer le synonyme puis traiter le synonyme comme une table normale.

De toute évidence, cela ne fonctionne que dans une base de données qui prend en charge les synonymes ... SQL Server 2008+ devrait fonctionner. Mais, c'est vraiment traiter comme une base de données unique avec des "liens" vers l'autre base de données en tant que tables ... vous ne pouvez pas le traiter comme deux bases de données distinctes explicitement.

0

Je crois qu'il est possible d'avoir plusieurs contextes pour une seule base de données, mais pas plusieurs bases de données pour un seul contexte.

+0

Merci! Toute suggestion? – user3753000

Questions connexes