Entity Framework: perform a query on a linking table / many to many relationship
entity, entity-framework, linq-to-entities
Solution
//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;
}
Problem
I am trying to perform a query using linq to entities to that an entity/table doesn't contain the same values before I update it. The structure of the database is as follows: ``` Users User_IPAddresses IPAddresses ----- ---------------- ----------- UserID >------ UserID ------< IPAddressID User IPAddressID Address ``` So, the structure of the entity object is as follows ``` UserSet IPAddressSet ------- >-----< ------------ User IPAddress ``` All the ID fields are Primary Keys, so the link table (User_IPAddresses) must contain unique rows. The problem I am having is that I can't get my head around how to check the entities so that I don't violate the unique row constraint on the User_IPAddresses table before I update it. Any EF gurus out there that can help me?