Entity Framework: führen Sie eine Abfrage auf einer Verknüpfungstabelle / viele zu viele Beziehung
-
21-08-2019 - |
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?
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