On m'a confié la tâche de créer un site qui permettra à nos différents clients importants de se connecter à notre site Web et de cliquer sur nos diverses pages pour afficher les données d'analyse en fonction de leurs ventes.Gestion de différentes bases de données avec LINQ en fonction de l'utilisateur actuellement connecté?
Quelqu'un at-il une idée de la meilleure façon de gérer plusieurs bases de données en fonction de l'utilisateur? Disons que nous avons 3 grands clients, la décision de conception a été prise chaque grand client a sa propre base de données.
Si un utilisateur du clientA se connecte à notre système, il doit voir les analyses pour son entreprise et le modèle doit être extrait du contexte de données du client. De même, si quelqu'un se connecte et est associé au client B dans la base de données, il doit alors extraire ses données de ce contexte de données. Si je le peux, j'aimerais disposer d'une classe Data Access Layer écrite en LINQ et avoir un moyen de transmettre le DataContext associé à cet utilisateur lors de sa connexion. Quelqu'un peut-il penser à une façon appropriée ou propre de le faire?
Le schéma sera-t-il le même pour toutes les bases de données? – BFree
@BFree, dans la mesure où les requêtes que je vais faire, ils seront les mêmes. Ils peuvent éventuellement différer par une colonne de deux, mais pas en ce qui concerne les requêtes LINQ que je vais exécuter. –
@TankMan, ce que vous faites est appelé sharding de base de données. – tuinstoel