Entity Framework: führen Sie eine Abfrage auf einer Verknüpfungstabelle / viele zu viele Beziehung

StackOverflow https://stackoverflow.com/questions/1074254

Frage

Ich versuche, eine Abfrage mit Linq zu Entitäten, dass ein Unternehmen / Tabelle enthält nicht die gleichen Werte auszuführen, bevor ich sie aktualisieren.

Die Struktur der Datenbank ist wie folgt:

Users             User_IPAddresses          IPAddresses
-----             ----------------          -----------
UserID   >------  UserID           ------<  IPAddressID
User              IPAddressID               Address

So ist die Struktur des Entitätsobjekt ist wie folgt

UserSet          IPAddressSet
-------  >-----< ------------
User             IPAddress

Alle ID-Felder sind Primärschlüssel, so dass die Verknüpfungstabelle (User_IPAddresses) muss eine eindeutige Zeilen enthalten.

Das Problem, das ich habe ist, dass ich nicht meinen Kopf bekommen um, wie die Objekte zu überprüfen, so dass ich auf der User_IPAddresses Tabelle nicht die eindeutigen Zeilen Bedingung verletze, bevor ich sie aktualisieren.

Jede EF-Gurus gibt, die mir helfen kann?

War es hilfreich?

Lösung

//returns true if pair exists
public bool CheckIfUserIPPairExists(int ipID, int userID)
{

   bool exists 
      = db.UserSet.Any(user=>user.UserID==userID 
                             && user.IPAddress.Any(ip=>ip.IPAddressID == ipID));
   return exists;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top