Question

Je suis en train d'effectuer une requête en utilisant LINQ à des entités qu'une entité / table ne contient pas les mêmes valeurs avant de le mettre à jour.

La structure de la base de données est le suivant:

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

Ainsi, la structure de l'objet de l'entité est la suivante

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

Tous les champs d'identification sont les clés primaires, de sorte que la table de liaison (de User_IPAddresses) doivent contenir des lignes uniques.

Le problème que j'ai est que je ne peux pas obtenir ma tête sur la façon de vérifier les entités afin que je ne viole pas la contrainte de ligne unique sur la table User_IPAddresses avant la mettre à jour.

Tous les gourous EF là-bas qui peut me aider?

Était-ce utile?

La 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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top