Ich wurde beauftragt, eine Website zu erstellen, die es unseren verschiedenen Großkunden ermöglicht, sich auf unserer Website anzumelden und auf unsere verschiedenen Seiten zu klicken, um die Analytics-Daten basierend auf ihren Verkäufen zu sehen.Umgang mit verschiedenen Datenbanken mit LINQ basierend auf dem aktuell angemeldeten Benutzer?
Hat jemand eine Idee über die beste Möglichkeit, mehrere Datenbanken basierend auf dem Benutzer zu behandeln? Sagen wir, wir haben 3 namhafte Kunden, die Designentscheidung wurde getroffen, jeder große Kunde hat seine eigene Datenbank.
Wenn sich ein Benutzer von clientA in unserem System anmeldet, sollte er die Analysen für sein Unternehmen sehen, und das Modell sollte den Datenkontext von clientA abbauen. Wenn sich jemand anmeldet und mit clientB in der Datenbank verbunden ist, müssen die Daten aus diesem Datenkontext abgerufen werden.
Wenn ich kann, möchte ich eine Data Access Layer-Klasse in LINQ geschrieben haben und eine Möglichkeit haben, den zugeordneten DataContext mit diesem Benutzer zu übergeben, wenn sie sich anmelden. Kann jemand an einen geeigneten oder sauberen Weg denken, dies zu tun?
Wird das Schema für alle Datenbanken gleich sein? – BFree
@BFree, soweit die Abfragen, die ich mache, werden sie gleich sein. Sie können sich schließlich um eine Spalte von zwei unterscheiden, aber nicht in Bezug auf die LINQ-Abfragen, die ich ausführen werde. –
@TankMan, was Sie tun, heißt Datenbank Sharding. – tuinstoel