2009-07-02 3 views
3

Ich versuche, eine Abfrage mit Linq zu Entitäten zu einem Entity/Tabelle nicht die gleichen Werte enthalten, bevor ich es aktualisieren.Entity Framework: Führen Sie eine Abfrage auf eine Verknüpfungstabelle/viele bis viele Beziehung

Die Struktur der Datenbank ist wie folgt:

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

die Struktur des Entitätsobjekt So wird wie folgt

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

den All-ID-Felder sind Primärschlüssel, so dass die Verbindungstabelle (User_IPAddresses) muss eindeutige Zeilen enthalten.

Das Problem, das ich habe, ist, dass ich nicht den Kopf darüber bekomme, wie die Entitäten überprüft werden, damit ich die eindeutige Zeilenbeschränkung in der Tabelle User_IPAddresses nicht verletze, bevor ich es aktualisiere.

Irgendwelche EF Gurus da draußen, die mir helfen können?

Antwort

4
//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; 
} 
+1

Tion Sie sind ein Genie, danke – Calanus